Creating integration-test_device_1 ... Creating integration-test_federation_1 ... Creating integration-test_authentication_1 ... Creating integration-test_experiment_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authorization_1 ... Creating integration-test_authorization_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_device_1 ... done Creating integration-test_experiment_1 ... done Creating integration-test_federation_1 ... done Attaching to integration-test_authorization_1, integration-test_authentication_1, integration-test_gateway_1, integration-test_device_1, integration-test_experiment_1, integration-test_federation_1 authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-02-27T15:23:07Z"} authorization_1 | {"client_addr":"127.0.0.1:41838","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-02-27T15:23:08Z"} authorization_1 | {"client_addr":"127.0.0.1:41838","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.287073,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:08Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1709047388.3951206} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1709047388.3951967} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1709047388.3952127} 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":1709047388.395228} 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":1709047388.3952394} 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":1709047388.3952668,"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":1709047388.3975773} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1709047388.3992438} 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:60170","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-02-27T15:23:08.423563275Z","id":"01HQNJK687KQG2QW73FFNB40JY","name":"crosslab","updated_at":"2024-02-27T15:23:08.423563275Z"},"request_id":"f8cca116-f3cb-49ea-91a4-ba42e92442b2","subsystem":"openfga","timestamp":1709047388.423677} 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:60170","raw_request":{"schema_version":"1.1","store_id":"01HQNJK687KQG2QW73FFNB40JY","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HQNJK69T22AZEDB47QAV5DSD"},"request_id":"748e2fda-5608-43ed-b57c-4839967e86f8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047388.4748552} authorization_1 | {"client_addr":"127.0.0.1:41838","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-02-27T15:23:08Z"} authorization_1 | {"client_addr":"127.0.0.1:41838","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.227963,"resp_status":204,"subsystem":"opa","time":"2024-02-27T15:23:08Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.61.0/opa_linux_amd64","latest_version":"0.61.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.61.0","subsystem":"opa","time":"2024-02-27T15:23:08Z"} 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 device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device_1 | {"level":"info","message":"Device Service started successfully"} experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment_1 | {"level":"info","message":"Experiment Service started successfully"} federation_1 | {"level":"info","message":"Federation Service started successfully"} gateway_1 | {"time_local":"27/Feb/2024:15:23:29 +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.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d3d9f8caa06dd1571319f9f9926e2a92"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 16ms","method":"HEAD","requestID":"d3d9f8caa06dd1571319f9f9926e2a92","responseTime":16,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"27/Feb/2024:15:23:29 +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.025","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"8809c6441201d861f6409b8845142e32"} device_1 | {"level":"info","message":"HEAD /device/status 200 16ms","method":"HEAD","requestID":"2907cb00-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"27/Feb/2024:15:23:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c76dc2bbf3aef35d8acc241e1e046c3b"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"c76dc2bbf3aef35d8acc241e1e046c3b"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"27/Feb/2024:15:23:29 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"10a8ed3ca810e4af75148ef8621d63bb"} federation_1 | {"level":"info","message":"HEAD /federation/status 200 10ms","method":"HEAD","requestID":"290ecfe0-d584-11ee-bdad-0d86d3e66fe7","responseTime":10,"status":200,"url":"/federation/status"} gateway_1 | {"time_local":"27/Feb/2024:15:23:29 +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.021","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"a93f37a78117a0553055fedab4e6abef"} experiment_1 | {"level":"info","message":"HEAD /experiment/status 200 13ms","method":"HEAD","requestID":"2912c780-d584-11ee-9c02-ed6d52bbb9f5","responseTime":13,"status":200,"url":"/experiment/status"} authentication_1 | {"level":"info","message":"POST /login 201 130ms","method":"POST","requestID":"6eae3428221baec05473898a71893480","responseTime":130,"status":201,"url":"/login"} gateway_1 | {"time_local":"27/Feb/2024:15:23:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6eae3428221baec05473898a71893480"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxMn0.MR_eZmqzM7dqt3iqK9Y-LcFXGrjWDy_5vCq43EE79bo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"4c97fbfd6b8e4ae70f60156563b187e7","responseTime":29,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.214792,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047412,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxMn0.MR_eZmqzM7dqt3iqK9Y-LcFXGrjWDy_5vCq43EE79bo"} authorization_1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c97fbfd6b8e4ae70f60156563b187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5a2b38a-cf7b-4be8-b584-d23fe9397091","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.0248501} 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":"4c97fbfd6b8e4ae70f60156563b187e7"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94c355bf-636d-4823-b833-195e5994222d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.0404348} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c97fbfd6b8e4ae70f60156563b187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"48cb234d-5c81-4249-a70c-7cc48a8128af","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.0607212} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66416ca9-fbd3-457f-8e47-db6be98e0bef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.0611608} authorization_1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c97fbfd6b8e4ae70f60156563b187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.060694451Z"}]},"request_id":"f5644f5b-2f0c-4c36-95ed-456432c2a63d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.0691292} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c97fbfd6b8e4ae70f60156563b187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 251ms","method":"POST","requestID":"4c97fbfd6b8e4ae70f60156563b187e7","responseTime":251,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.312","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c97fbfd6b8e4ae70f60156563b187e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxM30.TmSuOCj5mui9NdlyNgG3zZQUSIz1n-BtcQrbe8i-oYE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"81fce7e873ac0b6317abae48dd002169","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.062878,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047413,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxM30.TmSuOCj5mui9NdlyNgG3zZQUSIz1n-BtcQrbe8i-oYE"} 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":"81fce7e873ac0b6317abae48dd002169"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65b58aed-db47-4b65-9cd8-e5f9bc93d330","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.149735} 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":"81fce7e873ac0b6317abae48dd002169"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d524f40-ebe7-4906-9a3d-842ac0ba6d89","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.1676078} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81fce7e873ac0b6317abae48dd002169"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"b2c1bb6f-7d52-4406-9dd2-587bd4a110f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.1869814} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd0af448-03f4-4afd-b603-f798b617bbda","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.1873012} authorization_1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81fce7e873ac0b6317abae48dd002169"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.186963313Z"}]},"request_id":"4e607260-dd65-43e5-8cd8-49cf361a611c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047413.1997113} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81fce7e873ac0b6317abae48dd002169"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"81fce7e873ac0b6317abae48dd002169","responseTime":100,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81fce7e873ac0b6317abae48dd002169"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3752ea24dbc42974c550f8bdf70092f9","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7dd3a88e410a7517231143c20429d326","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/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":"3752ea24dbc42974c550f8bdf70092f9"} device_1 | {"level":"info","message":"OPTIONS /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/websocket 200 4ms","method":"OPTIONS","requestID":"3752ea24dbc42974c550f8bdf70092f9","responseTime":4,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.016","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7dd3a88e410a7517231143c20429d326"} device_1 | {"level":"info","message":"OPTIONS /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket 200 2ms","method":"OPTIONS","requestID":"7dd3a88e410a7517231143c20429d326","responseTime":2,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"6474a8cc6bcdbbc39a3b727c1fc21ceb","responseTime":13,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"c521e8fc2c09b3078063b0c480fd9608","responseTime":13,"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:35942","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.845843,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"6474a8cc6bcdbbc39a3b727c1fc21ceb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.260101,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c521e8fc2c09b3078063b0c480fd9608"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c521e8fc2c09b3078063b0c480fd9608"} device_1 | {"level":"info","message":"POST /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket 200 69ms","method":"POST","requestID":"c521e8fc2c09b3078063b0c480fd9608","responseTime":69,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.111","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6474a8cc6bcdbbc39a3b727c1fc21ceb"} device_1 | {"level":"info","message":"POST /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/websocket 200 94ms","method":"POST","requestID":"6474a8cc6bcdbbc39a3b727c1fc21ceb","responseTime":94,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"431bc437587e448ccb51ad402b7cc571","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785772,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"431bc437587e448ccb51ad402b7cc571"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.060694451Z"}]},"request_id":"afff397c-2a66-4e4a-ba9c-908e8de3ee4d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.56289} 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":"431bc437587e448ccb51ad402b7cc571"},"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":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"431bc437587e448ccb51ad402b7cc571"} device_1 | {"level":"info","message":"GET /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? 200 35ms","method":"GET","requestID":"431bc437587e448ccb51ad402b7cc571","responseTime":35,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e8c71ed45b355d5d61d290d75ad4231","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136262,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"9e8c71ed45b355d5d61d290d75ad4231"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.186963313Z"}]},"request_id":"43672488-0217-4211-ba6e-4e5038255c7b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.6036403} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e8c71ed45b355d5d61d290d75ad4231"},"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":"27/Feb/2024:15:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 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":"9e8c71ed45b355d5d61d290d75ad4231"} device_1 | {"level":"info","message":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 200 22ms","method":"GET","requestID":"9e8c71ed45b355d5d61d290d75ad4231","responseTime":22,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"afec28d0c93428670e95e07ea01d5dc8","responseTime":8,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.885962,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"afec28d0c93428670e95e07ea01d5dc8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"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:35942","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703354,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"2cc15090-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.413085,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"2cc19eb0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.060694451Z"}]},"request_id":"6190d5ce-3541-4fbc-b46d-38275191412f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.8479254} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc15090-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.186963313Z"}]},"request_id":"f28d30fb-9ec1-487d-9dd2-51196d779b2e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.8494635} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc19eb0-d584-11ee-94df-6bdcf2560c9b"},"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/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? 200 25ms","method":"GET","requestID":"2cc15090-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 200 24ms","method":"GET","requestID":"2cc19eb0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"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/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128876,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"2cd351f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335664,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"2cd3a010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.164936,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00a64111-6821-4fb8-80db-ffa22deae78c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9766247} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","rebac_allow":false,"scope_allow":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":"2cd43c50-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.186963313Z"}]},"request_id":"0794b4f1-a0f3-4ebc-b0d9-9d1df2d08a2e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9787507} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"2cd3a010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"POST /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling 200 29ms","method":"POST","requestID":"2cd43c50-d584-11ee-94df-6bdcf2560c9b","responseTime":29,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling"} 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.060694451Z"}]},"request_id":"84c59cdb-1bb6-48e8-8a81-eb5a48672daf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9850447} device_1 | {"level":"info","message":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 200 37ms","method":"GET","requestID":"2cd3a010-d584-11ee-94df-6bdcf2560c9b","responseTime":37,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cd351f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc221ffb6-db91-4b33-8896-335dd337fc7e#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc221ffb6-db91-4b33-8896-335dd337fc7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"32284940-eeb4-4e5c-b327-fe0e4c485a7c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9903204} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? 200 46ms","method":"GET","requestID":"2cd351f0-d584-11ee-94df-6bdcf2560c9b","responseTime":46,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55a09e99-23da-4d9b-be41-94669a53f701","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9968734} 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":"afec28d0c93428670e95e07ea01d5dc8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:35Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0c27b3b-5723-46a1-ba00-42e4126cc5e8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047415.9996688} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330612,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","rebac_allow":false,"scope_allow":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":"2cd96c70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling 200 17ms","method":"POST","requestID":"2cd96c70-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5068e609-899b-4f42-84b4-30b079429b5f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.009186} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.691029,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","rebac_allow":false,"scope_allow":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":"2cdaf310-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling 200 14ms","method":"POST","requestID":"2cdaf310-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 369ms","method":"POST","requestID":"afec28d0c93428670e95e07ea01d5dc8","responseTime":369,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.405","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afec28d0c93428670e95e07ea01d5dc8"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b424ad9cb1965b396f7fc3bb09f3237","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce5167fc-2339-4e53-9e00-5c5841439826","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.0280702} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.441077,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","rebac_allow":false,"scope_allow":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":"2cde4e70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613762,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b424ad9cb1965b396f7fc3bb09f3237"},"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/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling 200 13ms","method":"POST","requestID":"2cde4e70-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.060694451Z"}]},"request_id":"60e4633d-ed39-4548-bfde-22ae63295dc1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.0379672} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3f5fef30-017c-4bd4-a81b-62e9e9931090"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9a2184ae-6954-4152-b6b1-4163420582dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"90a72236-9d9c-4733-ab1d-3a5506a03b95"}]},"level":"info","message":"Built pairwise service configurations"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b424ad9cb1965b396f7fc3bb09f3237"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? 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":"2b424ad9cb1965b396f7fc3bb09f3237"} device_1 | {"level":"info","message":"GET /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0? 200 16ms","method":"GET","requestID":"2b424ad9cb1965b396f7fc3bb09f3237","responseTime":16,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0?"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"332f54cd566f670d44bd029e40cd529e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.750545,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047415,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNX0.o9E0zmZn11dAuUFmDNXALutXP2Gm-1SLIjwEkoYIxUA"} 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":"2ce1a9d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.568195,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"332f54cd566f670d44bd029e40cd529e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:33.186963313Z"}]},"request_id":"f03d549a-9cb6-4fe1-b304-1eb642d04443","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.059446} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"332f54cd566f670d44bd029e40cd529e"},"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":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 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":"332f54cd566f670d44bd029e40cd529e"} device_1 | {"level":"info","message":"GET /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4? 200 15ms","method":"GET","requestID":"332f54cd566f670d44bd029e40cd529e","responseTime":15,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8fc9f8e5-abab-4c99-b142-ea3c651eb3c3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.0848272} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd5c0012-5656-40f4-9f8b-5debd4375a1d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.0851164} 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":"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":"2ce1a9d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} 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/364a4e19-2498-4217-821f-159572157e50'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50'"} 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 58ms","method":"POST","requestID":"2ce1a9d0-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"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/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad916126-347c-4c3d-99f3-5c911318d73a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.1467357} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.367104,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","rebac_allow":false,"scope_allow":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":"2cf04fd0-d584-11ee-94df-6bdcf2560c9b"},"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/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling 200 12ms","method":"POST","requestID":"2cf04fd0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"069ec999-31fa-4c71-ab80-1c1eb81e3ff2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.1631618} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.134397,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","rebac_allow":false,"scope_allow":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":"2cf2c0d0-d584-11ee-94df-6bdcf2560c9b"},"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/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling 200 13ms","method":"POST","requestID":"2cf2c0d0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3078b9094928952143d9452f93f7d4cd","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/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 21ms","method":"POST","requestID":"3078b9094928952143d9452f93f7d4cd","responseTime":21,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"3078b9094928952143d9452f93f7d4cd"} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","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/364a4e19-2498-4217-821f-159572157e50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e57999f71395283b632fb6bfbf9ab8e0","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F364a4e19-2498-4217-821f-159572157e50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"398649b0-10ee-4fd0-a8ad-e91fe8d9439c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.415131} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":5.62921,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d189850-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/364a4e19-2498-4217-821f-159572157e50 200 20ms","method":"GET","requestID":"2d189850-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/peerconnections/364a4e19-2498-4217-821f-159572157e50"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 63ms","method":"POST","requestID":"e57999f71395283b632fb6bfbf9ab8e0","responseTime":63,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.069","http_referrer":"","http_user_agent":"node-fetch","requestID":"e57999f71395283b632fb6bfbf9ab8e0"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ca0d526-1a17-480f-a9a3-e2c59e40cab6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.4662726} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.577357,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} 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":"2d208790-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"32a9314e25228b96a7092ee09006cb1f","responseTime":8,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling 200 22ms","method":"POST","requestID":"2d208790-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.566092,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} 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":"32a9314e25228b96a7092ee09006cb1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"524fba30-f704-4e8a-9f24-fffe6d67312c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.4920595} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.395783,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} 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":"2d24cd50-d584-11ee-94df-6bdcf2560c9b"},"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/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling 200 15ms","method":"POST","requestID":"2d24cd50-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32a9314e25228b96a7092ee09006cb1f"} experiment_1 | {"level":"info","message":"GET /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e 200 28ms","method":"GET","requestID":"32a9314e25228b96a7092ee09006cb1f","responseTime":28,"status":200,"url":"/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"943aa28a420fcc9267032e13ceb6ed90","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.132077,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} 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":"943aa28a420fcc9267032e13ceb6ed90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.030025,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} 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":"2d2c2050-d584-11ee-94df-6bdcf2560c9b"},"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/364a4e19-2498-4217-821f-159572157e50' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3a66de00ab0bbeea64f7f4c1513f032","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d7fb4817670d6b73f8a756ae2671a039","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/364a4e19-2498-4217-821f-159572157e50"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F364a4e19-2498-4217-821f-159572157e50': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F364a4e19-2498-4217-821f-159572157e50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"8a4d2ae7-1f5f-4599-bb83-d30e1a628c3c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.584056} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b21d35a-3153-4cbb-9573-b38f43e3e5ea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.5844862} device_1 | {"data":{"peerconnection":"364a4e19-2498-4217-821f-159572157e50","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} 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":"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":"2d2c2050-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/364a4e19-2498-4217-821f-159572157e50 204 65ms","method":"DELETE","requestID":"2d2c2050-d584-11ee-94df-6bdcf2560c9b","responseTime":65,"status":204,"url":"/peerconnections/364a4e19-2498-4217-821f-159572157e50"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9b7de9a-c40f-424e-a17b-6213c3ef8dd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2c5a1c3-0789-4752-b38a-e86f9cecea4d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.6327255} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739941,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0","object_type":"device","rebac_allow":false,"scope_allow":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":"2d3a0300-d584-11ee-94df-6bdcf2560c9b"},"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/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling 200 18ms","method":"POST","requestID":"2d3a0300-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921318,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69093768-2d8c-440d-9bcd-005a8ef92301","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.652011} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc221ffb6-db91-4b33-8896-335dd337fc7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc221ffb6-db91-4b33-8896-335dd337fc7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"628f9095-3a04-40ab-b4c7-01cf7ae943b3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.6532452} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4","object_type":"device","rebac_allow":false,"scope_allow":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":"2d3d3750-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89e193f4-ab8d-41da-a2fd-9fd2a0c7f939","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.6536903} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"943aa28a420fcc9267032e13ceb6ed90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} device_1 | {"level":"info","message":"POST /devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling 200 14ms","method":"POST","requestID":"2d3d3750-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"943aa28a420fcc9267032e13ceb6ed90"} experiment_1 | {"level":"info","message":"DELETE /experiments/c221ffb6-db91-4b33-8896-335dd337fc7e 204 210ms","method":"DELETE","requestID":"943aa28a420fcc9267032e13ceb6ed90","responseTime":210,"status":204,"url":"/experiments/c221ffb6-db91-4b33-8896-335dd337fc7e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"c3a66de00ab0bbeea64f7f4c1513f032","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"c3a66de00ab0bbeea64f7f4c1513f032"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"1.228","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b9652be51915b4cb8b8e45538120904"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"d7fb4817670d6b73f8a756ae2671a039","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"1.243","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"156e0b77fb14c541b4e818b46fd623f5"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7fb4817670d6b73f8a756ae2671a039"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"59554bffcfb8f656b070060060bb5c59","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694877,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/464fe1e1-a13a-4514-ad3e-f6c4fcf309d4' 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":"59554bffcfb8f656b070060060bb5c59"},"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/a9b7de9a-c40f-424e-a17b-6213c3ef8dd0' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"230386d4-c8fc-46ea-8bf9-1734890d3980","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.7612333} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59554bffcfb8f656b070060060bb5c59"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c7487ed-ec5a-48a9-bfc9-9326428de86e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.7684429} 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":"59554bffcfb8f656b070060060bb5c59"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"df5b7907-9e1a-4fa4-b5ab-7d52b54413b3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.7798681} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9e02c2c-c78d-4dca-a1eb-d87e9b755d94","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.780021} 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":"59554bffcfb8f656b070060060bb5c59"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.779854056Z"}]},"request_id":"da90ccfa-c7dc-40ce-9e2a-756779a82caf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.7859023} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59554bffcfb8f656b070060060bb5c59"},"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 49ms","method":"POST","requestID":"59554bffcfb8f656b070060060bb5c59","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59554bffcfb8f656b070060060bb5c59"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78a249c890cf7c5af93220cf63cf2524","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.773974,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047416,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxNn0.HgW1xNKT06YBxewgS_gW8OUs5LKE3G3ai1QTRRT7nBs"} 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":"78a249c890cf7c5af93220cf63cf2524"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c260e6bc-37ec-4d48-9e0c-605924932ec7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.8167233} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78a249c890cf7c5af93220cf63cf2524"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"306363c6-7b1e-4664-8dd8-cd6b7fdb0792","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.8221784} 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":"78a249c890cf7c5af93220cf63cf2524"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"600c0bb7-e611-4e9f-8528-c4b17ed674b4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.832607} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c872607-4ec6-4980-95c5-85e82ad9f81b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.8328102} 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":"78a249c890cf7c5af93220cf63cf2524"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"95b4d0e4-e1f6-4bbe-b6ad-d1bb460098cf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047416.839743} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78a249c890cf7c5af93220cf63cf2524"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"78a249c890cf7c5af93220cf63cf2524","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78a249c890cf7c5af93220cf63cf2524"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxN30.xwWwGXwHyZOkEMbgSMJsOBUNN0JvUYZIHzB2UypmvIU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"830bd74d74dc065a35c24395e3e35601","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.951273,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047417,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxN30.xwWwGXwHyZOkEMbgSMJsOBUNN0JvUYZIHzB2UypmvIU"} 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":"830bd74d74dc065a35c24395e3e35601"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"9dca5e60-ce40-420b-9d92-01efb086556a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047417.4438605} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"830bd74d74dc065a35c24395e3e35601"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4829f1dc-afe8-45b8-adab-03d71e9bb1fb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047417.4514482} 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":"830bd74d74dc065a35c24395e3e35601"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"a84e9f2e-b5cc-4e54-ab76-796544eab88d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047417.46327} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"830bd74d74dc065a35c24395e3e35601"},"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":"27/Feb/2024:15:23:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/157d4a25-9d4f-4e2b-997e-645939730025 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"830bd74d74dc065a35c24395e3e35601"} device_1 | {"level":"info","message":"PATCH /devices/157d4a25-9d4f-4e2b-997e-645939730025 200 45ms","method":"PATCH","requestID":"830bd74d74dc065a35c24395e3e35601","responseTime":45,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxN30.xwWwGXwHyZOkEMbgSMJsOBUNN0JvUYZIHzB2UypmvIU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a7c6733cfa2d176971347f096f358a90","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10356,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047417,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxN30.xwWwGXwHyZOkEMbgSMJsOBUNN0JvUYZIHzB2UypmvIU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7c6733cfa2d176971347f096f358a90"},"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":"27/Feb/2024:15:23:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/157d4a25-9d4f-4e2b-997e-645939730025/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a7c6733cfa2d176971347f096f358a90"} device_1 | {"level":"info","message":"POST /devices/157d4a25-9d4f-4e2b-997e-645939730025/websocket 200 21ms","method":"POST","requestID":"a7c6733cfa2d176971347f096f358a90","responseTime":21,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d41852e892611cf00f8f330f8394f6f8","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/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":"d41852e892611cf00f8f330f8394f6f8"} device_1 | {"level":"info","message":"OPTIONS /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/websocket 200 1ms","method":"OPTIONS","requestID":"d41852e892611cf00f8f330f8394f6f8","responseTime":1,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f788c8558abb2750a7e9de74c75436cd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127409,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f788c8558abb2750a7e9de74c75436cd"},"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":"27/Feb/2024:15:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f788c8558abb2750a7e9de74c75436cd"} device_1 | {"level":"info","message":"POST /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/websocket 200 45ms","method":"POST","requestID":"f788c8558abb2750a7e9de74c75436cd","responseTime":45,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e141af668c44e978affa5a6b28fb2e78","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360843,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} 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":"e141af668c44e978affa5a6b28fb2e78"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.779854056Z"}]},"request_id":"018b19f6-d35a-4a11-9719-eea239598ddc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047418.9409263} 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":"e141af668c44e978affa5a6b28fb2e78"},"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":"27/Feb/2024:15:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 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":"e141af668c44e978affa5a6b28fb2e78"} device_1 | {"level":"info","message":"GET /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 200 23ms","method":"GET","requestID":"e141af668c44e978affa5a6b28fb2e78","responseTime":23,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c543c5aaa4e5d8091b523d3e9ca8be0d","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.319095,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c543c5aaa4e5d8091b523d3e9ca8be0d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"14dd5de4-7248-4325-85e6-2993ad8381d1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047418.974832} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c543c5aaa4e5d8091b523d3e9ca8be0d"},"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":"27/Feb/2024:15:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c543c5aaa4e5d8091b523d3e9ca8be0d"} device_1 | {"level":"info","message":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? 200 22ms","method":"GET","requestID":"c543c5aaa4e5d8091b523d3e9ca8be0d","responseTime":22,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"64327a38fb03f3f7f3c86357a70bc8ea","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:35942","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.937282,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64327a38fb03f3f7f3c86357a70bc8ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"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:35942","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23563,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2eaeefc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698301,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2eaf16d0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.779854056Z"}]},"request_id":"7928a435-83a2-4f28-9882-c026bffcb0de","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.0801091} 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":"2eaeefc0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"c6a1d4f4-2545-48a1-8dad-db156cd835f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.0826554} 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":"2eaf16d0-d584-11ee-94df-6bdcf2560c9b"},"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/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 200 20ms","method":"GET","requestID":"2eaeefc0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? 200 20ms","method":"GET","requestID":"2eaf16d0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"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:35942","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330162,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} 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":"2ebb24c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204964,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} 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":"2ebb99f0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.779854056Z"}]},"request_id":"da3c515c-74da-45cf-8a0a-c51e3901275c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.1716416} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"7578d5a2-8233-4906-be05-013caabc9c12","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.1742258} authorization_1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ebb24c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6055fc48-6df4-4bc1-b32e-903a28caa89b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.1782708} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 200 38ms","method":"GET","requestID":"2ebb24c0-d584-11ee-94df-6bdcf2560c9b","responseTime":38,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f?"} authorization_1 | {"client_addr":"127.0.0.1:35960","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35960","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.134277,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} 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":"2ebb99f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ebbe810-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77c02668-fdc7-4a3e-887e-87a0b12d6597#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77c02668-fdc7-4a3e-887e-87a0b12d6597","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"2213e9b1-c6e7-404b-b2df-0a58582041e1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.184501} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71205322-2751-4cf1-b0d8-5ac30bb53be9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.185141} authorization_1 | {"level":"info","message":"POST /relations/update 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64327a38fb03f3f7f3c86357a70bc8ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":32}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? 200 52ms","method":"GET","requestID":"2ebb99f0-d584-11ee-94df-6bdcf2560c9b","responseTime":52,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling 200 54ms","method":"POST","requestID":"2ebbe810-d584-11ee-94df-6bdcf2560c9b","responseTime":54,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 228ms","method":"POST","requestID":"64327a38fb03f3f7f3c86357a70bc8ea","responseTime":228,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.593917,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64327a38fb03f3f7f3c86357a70bc8ea"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f62fc55-bb25-4c05-8ac7-f511007491b2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.224784} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","rebac_allow":false,"scope_allow":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":"2ec55df0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43856ab9-4aef-48f9-b606-c68f07f87d24","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.233172} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.015458,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOX0.FGBIY5sY3VQ4tTI5QXLKMSDGAtLN0ys1eJ4TU0xIoEc","level":"info","message":"auth send jwt"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","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 6ms","method":"GET","requestID":"ac0c92a1bb4009e447339da3a20a115d","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling 200 22ms","method":"POST","requestID":"2ec55df0-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling"} 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":"2ec5fa30-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876992,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047419,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOX0.FGBIY5sY3VQ4tTI5QXLKMSDGAtLN0ys1eJ4TU0xIoEc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac0c92a1bb4009e447339da3a20a115d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling 200 28ms","method":"POST","requestID":"2ec5fa30-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67f86e8a-0c07-4753-82df-0ac6abef5080","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.247245} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.057692,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","rebac_allow":false,"scope_allow":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":"2ec95590-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.779854056Z"}]},"request_id":"a2385019-a388-4bf2-9d8e-c9793e2ed7e4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.24913} 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":"ac0c92a1bb4009e447339da3a20a115d"},"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/157d4a25-9d4f-4e2b-997e-645939730025/signaling 200 15ms","method":"POST","requestID":"2ec95590-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 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":"ac0c92a1bb4009e447339da3a20a115d"} device_1 | {"level":"info","message":"GET /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f? 200 20ms","method":"GET","requestID":"ac0c92a1bb4009e447339da3a20a115d","responseTime":20,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"35e849bd-6ef4-48ed-b99c-6962376c6ce3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"dda8df5b-7f4e-4531-8e81-4ef3bd4061d5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d65a5fef-a9f3-4b68-a0d9-846d901ba3a4"}]},"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/157d4a25-9d4f-4e2b-997e-645939730025"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOX0.FGBIY5sY3VQ4tTI5QXLKMSDGAtLN0ys1eJ4TU0xIoEc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"541e985d0d3e14bd484a154e700d742e","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.809381,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047418,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOH0.T9FSNXqRLPFMYGCR3lPVMdCOpIIGtBbCS6-14gJrgbA"} 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":"2ecc3bc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759414,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047419,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQxOX0.FGBIY5sY3VQ4tTI5QXLKMSDGAtLN0ys1eJ4TU0xIoEc"} 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":"541e985d0d3e14bd484a154e700d742e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:36.832594161Z"}]},"request_id":"2479d19a-61ff-4c21-8f6f-441e8bf56141","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.273884} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"541e985d0d3e14bd484a154e700d742e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"3129feec-f242-4344-ab47-6d9eef13d0c4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.2785175} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3838b843-de60-45eb-bf56-db0ff93e29d8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.2787743} gateway_1 | {"time_local":"27/Feb/2024:15:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"541e985d0d3e14bd484a154e700d742e"} device_1 | {"level":"info","message":"GET /devices/157d4a25-9d4f-4e2b-997e-645939730025? 200 15ms","method":"GET","requestID":"541e985d0d3e14bd484a154e700d742e","responseTime":15,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025?"} 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":"2ecc3bc0-d584-11ee-94df-6bdcf2560c9b"},"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/b82d3cdd-ed10-4312-8374-f2b5c5329a34'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34'"} 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 46ms","method":"POST","requestID":"2ecc3bc0-d584-11ee-94df-6bdcf2560c9b","responseTime":46,"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/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02e38334-3c22-4acc-a299-9d42ed09a9f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.3495946} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.347757,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","rebac_allow":false,"scope_allow":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":"2ed90d00-d584-11ee-94df-6bdcf2560c9b"},"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/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling 200 11ms","method":"POST","requestID":"2ed90d00-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2558ca30-a022-4e98-ae04-c2608dead2cb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047419.3631155} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.873305,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","rebac_allow":false,"scope_allow":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":"2edb08d0-d584-11ee-94df-6bdcf2560c9b"},"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/157d4a25-9d4f-4e2b-997e-645939730025/signaling 200 11ms","method":"POST","requestID":"2edb08d0-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","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/b82d3cdd-ed10-4312-8374-f2b5c5329a34' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c442d7ea2cbff1fbaa2b58a346e6f01","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"3c442d7ea2cbff1fbaa2b58a346e6f01","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"3c442d7ea2cbff1fbaa2b58a346e6f01"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","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/b82d3cdd-ed10-4312-8374-f2b5c5329a34' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9fe1bd4eda300f283763676e5f72a34c","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/157d4a25-9d4f-4e2b-997e-645939730025"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb82d3cdd-ed10-4312-8374-f2b5c5329a34","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77a93523-fbf7-4476-81c5-bb66f1d204fa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.4607038} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.817893,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34","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":"2f826c60-d584-11ee-94df-6bdcf2560c9b"},"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/b82d3cdd-ed10-4312-8374-f2b5c5329a34 200 15ms","method":"GET","requestID":"2f826c60-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"9fe1bd4eda300f283763676e5f72a34c","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fe1bd4eda300f283763676e5f72a34c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d13f4795-8ebf-4851-b7ba-5e0d0592ae66","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.5058005} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.856649,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y","level":"info","message":"auth send jwt"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","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 5ms","method":"GET","requestID":"bf01aef5ef423c8021ea46a1669bdbb3","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f88d500-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling 200 20ms","method":"POST","requestID":"2f88d500-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.792801,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047420,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf01aef5ef423c8021ea46a1669bdbb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"628a1173-77f9-4dc1-b8e7-148e2801f95b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.528687} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.079404,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","rebac_allow":false,"scope_allow":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":"2f8ca590-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf01aef5ef423c8021ea46a1669bdbb3"} device_1 | {"level":"info","message":"POST /devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling 200 16ms","method":"POST","requestID":"2f8ca590-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling"} experiment_1 | {"level":"info","message":"GET /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597 200 27ms","method":"GET","requestID":"bf01aef5ef423c8021ea46a1669bdbb3","responseTime":27,"status":200,"url":"/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8a180fce5bbbfe415b9053e0e73636b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.309639,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047420,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y"} 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":"b8a180fce5bbbfe415b9053e0e73636b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.15344,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047420,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y"} 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":"2f941fa0-d584-11ee-94df-6bdcf2560c9b"},"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/b82d3cdd-ed10-4312-8374-f2b5c5329a34' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e7052c074bc0d7f3d8fb38a2a88a9c29","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0636a9989b994e2d8f0e5ae9341cb74","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/157d4a25-9d4f-4e2b-997e-645939730025"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb82d3cdd-ed10-4312-8374-f2b5c5329a34': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb82d3cdd-ed10-4312-8374-f2b5c5329a34","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"081f6338-1c46-4e4c-bc86-f8103002dd46","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.6090837} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"525ba8f3-b08d-4e7e-86b9-f7fd7dce1cda","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.6095183} 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/157d4a25-9d4f-4e2b-997e-645939730025"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"}}},"level":"info","message":"received a callback"} 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":"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":"2f941fa0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"data":{"peerconnection":"b82d3cdd-ed10-4312-8374-f2b5c5329a34","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/b82d3cdd-ed10-4312-8374-f2b5c5329a34 204 64ms","method":"DELETE","requestID":"2f941fa0-d584-11ee-94df-6bdcf2560c9b","responseTime":64,"status":204,"url":"/peerconnections/b82d3cdd-ed10-4312-8374-f2b5c5329a34"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F157d4a25-9d4f-4e2b-997e-645939730025","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"590dece7-abc0-4540-bb35-00105e03d73e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.6720695} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.99173,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/157d4a25-9d4f-4e2b-997e-645939730025","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa29e90-d584-11ee-94df-6bdcf2560c9b"},"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/157d4a25-9d4f-4e2b-997e-645939730025/signaling 200 15ms","method":"POST","requestID":"2fa29e90-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/157d4a25-9d4f-4e2b-997e-645939730025/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77c02668-fdc7-4a3e-887e-87a0b12d6597': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77c02668-fdc7-4a3e-887e-87a0b12d6597","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"bca6d1f6-69b9-4bbe-ab02-825bde7d62a1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.686857} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a5789a1-b8f1-4986-9e9a-f02312b9e110","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.687736} 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":"b8a180fce5bbbfe415b9053e0e73636b"},"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:35942","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37bd2cbd-f578-479d-8487-8aa5759d2f0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a92f22a-089a-4c9d-922d-2078016dfa7c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.6961505} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.667924,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa5d2e0-d584-11ee-94df-6bdcf2560c9b"},"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/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling 200 19ms","method":"POST","requestID":"2fa5d2e0-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/37bd2cbd-f578-479d-8487-8aa5759d2f0f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.223","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8a180fce5bbbfe415b9053e0e73636b"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"3.267","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ab687da5510fc87e51307ae9f5706fc4"} experiment_1 | {"level":"info","message":"DELETE /experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597 204 221ms","method":"DELETE","requestID":"b8a180fce5bbbfe415b9053e0e73636b","responseTime":221,"status":204,"url":"/experiments/77c02668-fdc7-4a3e-887e-87a0b12d6597"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"e7052c074bc0d7f3d8fb38a2a88a9c29","responseTime":166,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"c0636a9989b994e2d8f0e5ae9341cb74","responseTime":164,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2d59f2623f9a9cdb8c64608e5574282d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.173","http_referrer":"","http_user_agent":"node-fetch","requestID":"e7052c074bc0d7f3d8fb38a2a88a9c29"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.174","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0636a9989b994e2d8f0e5ae9341cb74"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"1.884","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f5458ca03dd8a20891b0967447c700bf"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.116673,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047420,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y"} 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":"2d59f2623f9a9cdb8c64608e5574282d"},"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/157d4a25-9d4f-4e2b-997e-645939730025' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbc0dfd3-0617-40f0-8c12-b20e749bef37","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.7991285} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d59f2623f9a9cdb8c64608e5574282d"},"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/37bd2cbd-f578-479d-8487-8aa5759d2f0f' 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"299b05db-9efd-407c-9b36-6e3026c7ccfc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8058598} 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":"2d59f2623f9a9cdb8c64608e5574282d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d638cfa0-5024-48a9-9506-8ff8f4c933d7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8183613} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75438cce-a449-4aae-b9e9-25f5f89ecd63","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.818571} 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":"2d59f2623f9a9cdb8c64608e5574282d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"1c8dc1ed-6972-4d01-8aaa-b42646ddb013","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8244228} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d59f2623f9a9cdb8c64608e5574282d"},"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 48ms","method":"POST","requestID":"2d59f2623f9a9cdb8c64608e5574282d","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +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":"2d59f2623f9a9cdb8c64608e5574282d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c2c5addfdf515507fd5f68475b2e0e4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.881643,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047420,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMH0.WughzCOi5Cy35mlWeMXBTXU4lULYYwFohWMe6OIfC4Y"} 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":"1c2c5addfdf515507fd5f68475b2e0e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"52a443a6-e174-4de3-b023-bb59227ae574","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8529859} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c2c5addfdf515507fd5f68475b2e0e4"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffb7bf16-be4e-4b93-9831-62d1ae16814d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8586445} 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":"1c2c5addfdf515507fd5f68475b2e0e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d33cc606-9b2f-4c40-9846-361a3cefdfaa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.8682358} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49e575d3-3c17-4600-87b4-55e8f793ec41","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.868377} 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":"1c2c5addfdf515507fd5f68475b2e0e4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.868221506Z"}]},"request_id":"fdb027ff-2f81-4f9c-851c-308d8ab94c53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047420.873568} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c2c5addfdf515507fd5f68475b2e0e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"1c2c5addfdf515507fd5f68475b2e0e4","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c2c5addfdf515507fd5f68475b2e0e4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMX0.X9B_ujAnKVZoJSJFCGpLxDxdC_XFoyadPzT81Dyis_A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0992ac5a7584d6090d03fc1c20da2f6e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.378453,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047421,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMX0.X9B_ujAnKVZoJSJFCGpLxDxdC_XFoyadPzT81Dyis_A"} 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":"0992ac5a7584d6090d03fc1c20da2f6e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"e13e2278-5208-416f-8504-bc95fa3d8d33","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047421.3596923} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0992ac5a7584d6090d03fc1c20da2f6e"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88e9edd2-2138-41fb-992d-0d02064cac23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047421.3666635} 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":"0992ac5a7584d6090d03fc1c20da2f6e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"2b102c68-9974-40ab-99fe-dbd921bc1200","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047421.391502} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0992ac5a7584d6090d03fc1c20da2f6e"},"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":"27/Feb/2024:15:23:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/562289f0-4ba9-4529-b4b1-bc064526c61f HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"0992ac5a7584d6090d03fc1c20da2f6e"} device_1 | {"level":"info","message":"PATCH /devices/562289f0-4ba9-4529-b4b1-bc064526c61f 200 49ms","method":"PATCH","requestID":"0992ac5a7584d6090d03fc1c20da2f6e","responseTime":49,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMX0.X9B_ujAnKVZoJSJFCGpLxDxdC_XFoyadPzT81Dyis_A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e92580e657a43918763ac4a4445545","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276312,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047421,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMX0.X9B_ujAnKVZoJSJFCGpLxDxdC_XFoyadPzT81Dyis_A"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88e92580e657a43918763ac4a4445545"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f/websocket 200 19ms","method":"POST","requestID":"88e92580e657a43918763ac4a4445545","responseTime":19,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/562289f0-4ba9-4529-b4b1-bc064526c61f/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.3","requestID":"88e92580e657a43918763ac4a4445545"} device_1 | {"level":"info","message":"device 'http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"78afa39914eb8a2567aebfc36ffe1f21","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c706564f-118a-4362-b9da-ae46370bbda6/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":"78afa39914eb8a2567aebfc36ffe1f21"} device_1 | {"level":"info","message":"OPTIONS /devices/c706564f-118a-4362-b9da-ae46370bbda6/websocket 200 1ms","method":"OPTIONS","requestID":"78afa39914eb8a2567aebfc36ffe1f21","responseTime":1,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba5f67d26014792047cc82fe3ba8460f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.95913,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047422,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w"} 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":"ba5f67d26014792047cc82fe3ba8460f"},"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":"27/Feb/2024:15:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c706564f-118a-4362-b9da-ae46370bbda6/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":"ba5f67d26014792047cc82fe3ba8460f"} device_1 | {"level":"info","message":"POST /devices/c706564f-118a-4362-b9da-ae46370bbda6/websocket 200 30ms","method":"POST","requestID":"ba5f67d26014792047cc82fe3ba8460f","responseTime":30,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2384529fac1014e6c1a7b12bd48e6b7f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228367,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047422,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w"} 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":"2384529fac1014e6c1a7b12bd48e6b7f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"5ec20720-6067-4160-856a-a36addc9a3b9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047422.9687808} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2384529fac1014e6c1a7b12bd48e6b7f"},"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":"27/Feb/2024:15:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/562289f0-4ba9-4529-b4b1-bc064526c61f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2384529fac1014e6c1a7b12bd48e6b7f"} device_1 | {"level":"info","message":"GET /devices/562289f0-4ba9-4529-b4b1-bc064526c61f? 200 22ms","method":"GET","requestID":"2384529fac1014e6c1a7b12bd48e6b7f","responseTime":22,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1b5800f2f04d3a47a37855a1d1a4b5a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180691,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047422,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyMn0.1tCbm0E4JisEfN-ef3xrUu9AsDRYDCgFu1Dz3hoTT4w"} 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":"a1b5800f2f04d3a47a37855a1d1a4b5a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.868221506Z"}]},"request_id":"218a3e10-1a38-4cf5-9511-24e970df42cf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047422.999517} 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":"a1b5800f2f04d3a47a37855a1d1a4b5a"},"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":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 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":"a1b5800f2f04d3a47a37855a1d1a4b5a"} device_1 | {"level":"info","message":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 200 22ms","method":"GET","requestID":"a1b5800f2f04d3a47a37855a1d1a4b5a","responseTime":22,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b1b7b59abe0514f5448955aaf33491dc","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:35942","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.417463,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1b7b59abe0514f5448955aaf33491dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"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:35942","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157774,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3113bac0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572315,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"311408e0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"fd3d0433-fa2b-4c6a-888f-8ce54ccfa35e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.0979102} 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":"3113bac0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.868221506Z"}]},"request_id":"366beaa4-8b8d-4800-9c9f-e4caa48be393","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.099817} 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":"311408e0-d584-11ee-94df-6bdcf2560c9b"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f? 200 24ms","method":"GET","requestID":"3113bac0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 200 24ms","method":"GET","requestID":"311408e0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"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:35942","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249869,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"31208c00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.478947,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"31210130-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.535248,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49ca0ad1-3ec2-44b3-a743-756a89d6f273","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.1845315} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31214f50-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"3ca088ae-bba2-435c-a452-073f0f3d13f0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.1897268} device_1 | {"level":"info","message":"POST /devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling 200 25ms","method":"POST","requestID":"31214f50-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31208c00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.868221506Z"}]},"request_id":"86b967b3-07b0-4136-88e7-bec62e9bef0f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.198193} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"31210130-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F507e80c0-7ddb-4a6a-ab7c-c44e240be773#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F507e80c0-7ddb-4a6a-ab7c-c44e240be773","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"6735cbef-f352-4b6b-a935-fc74f491c1a7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2022638} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4db9a9c8-3cec-4c29-812b-4bfd98be4af1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2027533} 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":"b1b7b59abe0514f5448955aaf33491dc"},"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:35942","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"689e519e-3199-42b5-8d0e-8a90dd4d6cc4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2091448} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671458,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} device_1 | {"level":"info","message":"GET /devices/562289f0-4ba9-4529-b4b1-bc064526c61f? 200 42ms","method":"GET","requestID":"31208c00-d584-11ee-94df-6bdcf2560c9b","responseTime":42,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 200 41ms","method":"GET","requestID":"31210130-d584-11ee-94df-6bdcf2560c9b","responseTime":41,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6?"} 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":"31259510-d584-11ee-94df-6bdcf2560c9b"},"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/c706564f-118a-4362-b9da-ae46370bbda6/signaling 200 15ms","method":"POST","requestID":"31259510-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffdacbf6-f625-4303-ae68-e3c8afc6798b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2249048} experiment_1 | {"level":"info","message":"POST /experiments? 201 207ms","method":"POST","requestID":"b1b7b59abe0514f5448955aaf33491dc","responseTime":207,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.36201,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","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":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1b7b59abe0514f5448955aaf33491dc"} 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":"31285430-d584-11ee-94df-6bdcf2560c9b"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling 200 13ms","method":"POST","requestID":"31285430-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"985ea501a4cbebdc655c9dea6c728167","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:35942","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.021713,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"985ea501a4cbebdc655c9dea6c728167"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d420b1ce-52cb-4499-b008-be5debdd1679","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2432034} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.000938,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","rebac_allow":false,"scope_allow":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":"312b1350-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.818348380Z"}]},"request_id":"4b0273f8-7393-47bc-9453-28908cea3a38","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.249587} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c706564f-118a-4362-b9da-ae46370bbda6/signaling 200 14ms","method":"POST","requestID":"312b1350-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/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":"985ea501a4cbebdc655c9dea6c728167"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5187a162-6bf6-4d5d-a257-5c43fca4b78b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0b7d2e22-8d8b-4135-9fd2-291809c97c75"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4f7a5482-1cd8-4876-bba4-7bca039d77ce"}]},"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/c706564f-118a-4362-b9da-ae46370bbda6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"}],"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":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/562289f0-4ba9-4529-b4b1-bc064526c61f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"985ea501a4cbebdc655c9dea6c728167"} device_1 | {"level":"info","message":"GET /devices/562289f0-4ba9-4529-b4b1-bc064526c61f? 200 23ms","method":"GET","requestID":"985ea501a4cbebdc655c9dea6c728167","responseTime":23,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.367865,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"312dd270-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc2199b07e82fe4b1b6f1b9d41fbfb12","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916386,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2199b07e82fe4b1b6f1b9d41fbfb12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:40.868221506Z"}]},"request_id":"cbd00a45-aad9-483d-8aea-5e50bb28d326","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2769094} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2199b07e82fe4b1b6f1b9d41fbfb12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"873f87b5-1e89-4ee2-97f5-b3ee18416cbb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2781086} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0751548e-9e2b-4397-90e6-1f6a70107409","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.2784104} 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":"312dd270-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 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":"cc2199b07e82fe4b1b6f1b9d41fbfb12"} device_1 | {"level":"info","message":"GET /devices/c706564f-118a-4362-b9da-ae46370bbda6? 200 16ms","method":"GET","requestID":"cc2199b07e82fe4b1b6f1b9d41fbfb12","responseTime":16,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6?"} 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/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"312dd270-d584-11ee-94df-6bdcf2560c9b","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5938a4a5-c292-4537-ab67-ceb1f14f0a7c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.34829} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.625053,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","rebac_allow":false,"scope_allow":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":"313b3ff0-d584-11ee-94df-6bdcf2560c9b"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling 200 10ms","method":"POST","requestID":"313b3ff0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f06cb4c-a8de-462e-b0f1-73387b1479e5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.3604274} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557623,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","rebac_allow":false,"scope_allow":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":"313d14b0-d584-11ee-94df-6bdcf2560c9b"},"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/c706564f-118a-4362-b9da-ae46370bbda6/signaling 200 10ms","method":"POST","requestID":"313d14b0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6216590e1175996f11f6982a6f14bb73","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/c706564f-118a-4362-b9da-ae46370bbda6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"6216590e1175996f11f6982a6f14bb73","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"6216590e1175996f11f6982a6f14bb73"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","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/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90d3cb2cc9d2daa0c06113fb98a4b0ae","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/c706564f-118a-4362-b9da-ae46370bbda6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f52fb2f5-4854-4ea6-9e7d-dae55f9a8812","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.4422402} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.684435,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","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":"314970c0-d584-11ee-94df-6bdcf2560c9b"},"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/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b 200 12ms","method":"GET","requestID":"314970c0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"90d3cb2cc9d2daa0c06113fb98a4b0ae","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"90d3cb2cc9d2daa0c06113fb98a4b0ae"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8f159cc-95a5-4df7-b554-2e7f7896edd6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.4723816} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.119025,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","rebac_allow":false,"scope_allow":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":"314e52c0-d584-11ee-94df-6bdcf2560c9b"},"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/c706564f-118a-4362-b9da-ae46370bbda6/signaling 200 8ms","method":"POST","requestID":"314e52c0-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be87a6d6-7bb4-4546-bd13-6dcb3e053c90","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.4831588} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415066,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","rebac_allow":false,"scope_allow":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":"31500070-d584-11ee-94df-6bdcf2560c9b"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling 200 9ms","method":"POST","requestID":"31500070-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d2cb826f4ba0f3876079e859a6b8efd9","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.230093,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"d2cb826f4ba0f3876079e859a6b8efd9"},"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/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2cb826f4ba0f3876079e859a6b8efd9"} experiment_1 | {"level":"info","message":"GET /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773 200 21ms","method":"GET","requestID":"d2cb826f4ba0f3876079e859a6b8efd9","responseTime":21,"status":200,"url":"/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"332aa09534f66777c61f809dbec923e5","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307366,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"332aa09534f66777c61f809dbec923e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.35033,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"315f1ba0-d584-11ee-94df-6bdcf2560c9b"},"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/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9927cc73-3454-4c3b-b3a6-a944ba1fbb5b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"33fc58e6-1016-4888-a690-82aa7a76e1a9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.6062653} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94002e92-fd75-42cb-b4cf-b76b138c7f30","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.6068144} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4ee757eb026f491dce4657efbacd55d","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f795d01e82dbce41cc42c1ee1cebda48","responseTime":2,"status":200,"url":"/auth"} 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":"315f1ba0-d584-11ee-94df-6bdcf2560c9b"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"9927cc73-3454-4c3b-b3a6-a944ba1fbb5b","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/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b 204 70ms","method":"DELETE","requestID":"315f1ba0-d584-11ee-94df-6bdcf2560c9b","responseTime":70,"status":204,"url":"/peerconnections/9927cc73-3454-4c3b-b3a6-a944ba1fbb5b"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc706564f-118a-4362-b9da-ae46370bbda6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d74d7476-f90f-4bb4-8eea-f57baef9385d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.6851335} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.295822,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6","object_type":"device","rebac_allow":false,"scope_allow":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":"316e36d0-d584-11ee-94df-6bdcf2560c9b"},"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/c706564f-118a-4362-b9da-ae46370bbda6/signaling 200 18ms","method":"POST","requestID":"316e36d0-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/c706564f-118a-4362-b9da-ae46370bbda6/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F507e80c0-7ddb-4a6a-ab7c-c44e240be773': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F507e80c0-7ddb-4a6a-ab7c-c44e240be773","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"e80e1d6d-37e7-48aa-96a6-550c2b9d5d66","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.697929} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8cdf944-8c77-4efc-9f8b-450b540d38ae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.6982448} 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":"332aa09534f66777c61f809dbec923e5"},"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:35942","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F562289f0-4ba9-4529-b4b1-bc064526c61f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96bda9af-0d49-4f99-9752-f05137d61059","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.7054446} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.262214,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/562289f0-4ba9-4529-b4b1-bc064526c61f","object_type":"device","rebac_allow":false,"scope_allow":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":"31719230-d584-11ee-94df-6bdcf2560c9b"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling 200 14ms","method":"POST","requestID":"31719230-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/562289f0-4ba9-4529-b4b1-bc064526c61f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"332aa09534f66777c61f809dbec923e5"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1878","request_time":"2.350","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a764309a468ea8b55f450accde5447a5"} experiment_1 | {"level":"info","message":"DELETE /experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773 204 215ms","method":"DELETE","requestID":"332aa09534f66777c61f809dbec923e5","responseTime":215,"status":204,"url":"/experiments/507e80c0-7ddb-4a6a-ab7c-c44e240be773"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"d4ee757eb026f491dce4657efbacd55d","responseTime":166,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4ee757eb026f491dce4657efbacd55d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"f795d01e82dbce41cc42c1ee1cebda48","responseTime":164,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch","requestID":"f795d01e82dbce41cc42c1ee1cebda48"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b2f2fd3b91b735229a27b325ac2bb2fb","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.853","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb0ecea5334f9939926a446005cf65f8"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.984864,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"b2f2fd3b91b735229a27b325ac2bb2fb"},"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/562289f0-4ba9-4529-b4b1-bc064526c61f' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c706564f-118a-4362-b9da-ae46370bbda6' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6b54cfe-c850-4558-8dd4-61f1f49f3ddb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8159525} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2f2fd3b91b735229a27b325ac2bb2fb"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44e1f917-b07c-42d7-87cf-91c342d88ca4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.821978} 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":"b2f2fd3b91b735229a27b325ac2bb2fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"6ceb3a5e-840f-47f6-829b-4acc820a40d8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8345785} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70a3ec28-cc9b-4280-9ab0-b16bf9ef1d82","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8347423} 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":"b2f2fd3b91b735229a27b325ac2bb2fb"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"79911538-ef32-4b29-9b41-3d5a0264a710","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.840219} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2f2fd3b91b735229a27b325ac2bb2fb"},"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":"b2f2fd3b91b735229a27b325ac2bb2fb","responseTime":60,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2f2fd3b91b735229a27b325ac2bb2fb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86b77bd8130b272ec3745dbdc24b448e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.717203,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047423,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyM30.I1fbyRksxWusVEQCVUSbI9rqfRUegwhHELUyCgQZtMk"} 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":"86b77bd8130b272ec3745dbdc24b448e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ccfc2d23-4d92-4301-8691-647b174af5dd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8664973} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86b77bd8130b272ec3745dbdc24b448e"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c643d6e-10c3-42ed-804d-4606f3c76a08","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.87196} 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":"86b77bd8130b272ec3745dbdc24b448e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8d0ecf25-35f0-4438-a310-e6caffdd1a32","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8822374} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51de2f11-2dd6-46c5-ad05-a34eb245af8b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8825235} 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":"86b77bd8130b272ec3745dbdc24b448e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"e7926639-9943-4a16-a809-2ce7de664a0a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047423.8879592} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86b77bd8130b272ec3745dbdc24b448e"},"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":"86b77bd8130b272ec3745dbdc24b448e","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86b77bd8130b272ec3745dbdc24b448e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c2dca4f316647b6f176adf09ede7086c","responseTime":5,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a089a2e47cb7a926b3049001e07fa5c6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636094,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2dca4f316647b6f176adf09ede7086c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592053,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a089a2e47cb7a926b3049001e07fa5c6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"c5f951ed-cb59-4d46-8494-ed6faf554161","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.3753877} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2dca4f316647b6f176adf09ede7086c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"c7912e69-423c-4864-9b1d-032a97a3aa70","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.3766494} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a089a2e47cb7a926b3049001e07fa5c6"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e34c09ea-9437-4f94-95f8-3b0712110d46","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.3822763} 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":"c2dca4f316647b6f176adf09ede7086c"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"160e49c3-2223-4ff4-a4f2-cbda0b89a5fc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.384119} 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":"a089a2e47cb7a926b3049001e07fa5c6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"9cce77e6-e593-4422-9f4a-66aa2842b073","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.3878043} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a089a2e47cb7a926b3049001e07fa5c6"},"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":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d4c15150-d313-4b94-8093-e4858c3632a3 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a089a2e47cb7a926b3049001e07fa5c6"} device_1 | {"level":"info","message":"PATCH /devices/d4c15150-d313-4b94-8093-e4858c3632a3 200 31ms","method":"PATCH","requestID":"a089a2e47cb7a926b3049001e07fa5c6","responseTime":31,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97f6daaee1aea5e44715c4b875d4a30b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041614,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"97f6daaee1aea5e44715c4b875d4a30b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"8fd85a64-caba-42a2-b614-ea000f53a11e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.4090018} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2dca4f316647b6f176adf09ede7086c"},"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":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1ff00137-dd0b-44e1-9407-060b9e32a484 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c2dca4f316647b6f176adf09ede7086c"} device_1 | {"level":"info","message":"PATCH /devices/1ff00137-dd0b-44e1-9407-060b9e32a484 200 54ms","method":"PATCH","requestID":"c2dca4f316647b6f176adf09ede7086c","responseTime":54,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"46d23c210e66625f024cea3002cf930f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4c15150-d313-4b94-8093-e4858c3632a3/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.3","requestID":"97f6daaee1aea5e44715c4b875d4a30b"} device_1 | {"level":"info","message":"POST /devices/d4c15150-d313-4b94-8093-e4858c3632a3/websocket 200 23ms","method":"POST","requestID":"97f6daaee1aea5e44715c4b875d4a30b","responseTime":23,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/websocket"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731971,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"46d23c210e66625f024cea3002cf930f"},"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":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ff00137-dd0b-44e1-9407-060b9e32a484/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"46d23c210e66625f024cea3002cf930f"} device_1 | {"level":"info","message":"POST /devices/1ff00137-dd0b-44e1-9407-060b9e32a484/websocket 200 10ms","method":"POST","requestID":"46d23c210e66625f024cea3002cf930f","responseTime":10,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"30c05d24b0580787c5dbd2c467927415","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665856,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"30c05d24b0580787c5dbd2c467927415"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"366d3891-ef32-4b88-a320-619b4ab4880e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.4615445} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30c05d24b0580787c5dbd2c467927415"},"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/1ff00137-dd0b-44e1-9407-060b9e32a484? 200 17ms","method":"GET","requestID":"30c05d24b0580787c5dbd2c467927415","responseTime":17,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ff00137-dd0b-44e1-9407-060b9e32a484? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30c05d24b0580787c5dbd2c467927415"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d8737e0702a8d814ba7977d61cc9f38e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860287,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8737e0702a8d814ba7977d61cc9f38e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"fc15acff-2d0f-43bc-8c4c-5d7c24ced61d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.483684} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8737e0702a8d814ba7977d61cc9f38e"},"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":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8737e0702a8d814ba7977d61cc9f38e"} device_1 | {"level":"info","message":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? 200 16ms","method":"GET","requestID":"d8737e0702a8d814ba7977d61cc9f38e","responseTime":16,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"095354a65bff06dd3aa371900a910465","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.755376,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"095354a65bff06dd3aa371900a910465"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"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:35942","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792299,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31f80040-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850824,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31f84e60-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"60235232-27bc-42ee-adb6-669405e8980f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.5937426} 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":"31f80040-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"9bd969a9-8b81-4eab-9fca-7407c5ba99ad","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.5953505} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31f84e60-d584-11ee-94df-6bdcf2560c9b"},"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/1ff00137-dd0b-44e1-9407-060b9e32a484? 200 22ms","method":"GET","requestID":"31f80040-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? 200 22ms","method":"GET","requestID":"31f84e60-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"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:35942","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.081201,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3203c010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870521,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"32043540-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.788342,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4352568c-09fd-41d1-8573-5af37b8dcdd4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.669724} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","rebac_allow":false,"scope_allow":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":"3204aa70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"6f65a75f-b76a-4fc8-a508-ff9bade866ab","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.6723819} 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":"3203c010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"96ce2640-c88e-4153-b714-abc8e1e93edb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.676033} device_1 | {"level":"info","message":"POST /devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling 200 14ms","method":"POST","requestID":"3204aa70-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/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":"32043540-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F169c54b7-a011-4297-9fe7-583fe6dead2e#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F169c54b7-a011-4297-9fe7-583fe6dead2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"e64c0703-5104-4168-96b9-94036b0d4e3b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.6832056} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0743f0e4-381c-40a9-883a-00417e75763f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.68336} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ff00137-dd0b-44e1-9407-060b9e32a484? 200 28ms","method":"GET","requestID":"3203c010-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"095354a65bff06dd3aa371900a910465"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? 200 26ms","method":"GET","requestID":"32043540-d584-11ee-94df-6bdcf2560c9b","responseTime":26,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6288878-8b99-4d07-ac9c-4c127d8c5a39","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.685641} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.343416,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","rebac_allow":false,"scope_allow":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":"32076990-d584-11ee-94df-6bdcf2560c9b"},"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/d4c15150-d313-4b94-8093-e4858c3632a3/signaling 200 13ms","method":"POST","requestID":"32076990-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9018328-b480-4509-80f1-cd10dbf5871d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.6995595} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.320668,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 203ms","method":"POST","requestID":"095354a65bff06dd3aa371900a910465","responseTime":203,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"095354a65bff06dd3aa371900a910465"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","rebac_allow":false,"scope_allow":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":"32096560-d584-11ee-94df-6bdcf2560c9b"},"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/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling 200 11ms","method":"POST","requestID":"32096560-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d9d64b322f434d92534addc79b75b05","responseTime":4,"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:35942","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897633,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"2d9d64b322f434d92534addc79b75b05"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffdd47a4-c1f7-42fb-ba8f-f350e8034642","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7119436} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.509234,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","rebac_allow":false,"scope_allow":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":"320b8840-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.834556392Z"}]},"request_id":"86411515-d204-45d4-ad74-2f2c9e876ea3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7164307} device_1 | {"level":"info","message":"POST /devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling 200 8ms","method":"POST","requestID":"320b8840-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/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":"2d9d64b322f434d92534addc79b75b05"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"eb4e3978-93e8-4c75-84c0-98fa5d1a35db"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7a91424a-c6d0-4c1f-862b-982e3b0afab0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b011452b-cbec-465e-ab61-30332b4fd5e5"}]},"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/1ff00137-dd0b-44e1-9407-060b9e32a484"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3"}],"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":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ff00137-dd0b-44e1-9407-060b9e32a484? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d9d64b322f434d92534addc79b75b05"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} device_1 | {"level":"info","message":"GET /devices/1ff00137-dd0b-44e1-9407-060b9e32a484? 200 16ms","method":"GET","requestID":"2d9d64b322f434d92534addc79b75b05","responseTime":16,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.747225,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"320d5d00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f8837d670efffaf709c9f6463bfe33d2","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f44abc9d-42ff-4c65-a5e5-c9bc1050eae1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7344556} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21e5122e-7ab3-4e58-8c9b-9ba3392414aa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7346475} 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":"320d5d00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.72347,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8837d670efffaf709c9f6463bfe33d2"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:43.882226630Z"}]},"request_id":"d3f95acd-a18b-4c1a-bd4a-375dc7408a22","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7428977} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8837d670efffaf709c9f6463bfe33d2"},"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/f405c607-07c3-480d-aa80-5825978778c8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"320d5d00-d584-11ee-94df-6bdcf2560c9b","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8837d670efffaf709c9f6463bfe33d2"} device_1 | {"level":"info","message":"GET /devices/d4c15150-d313-4b94-8093-e4858c3632a3? 200 26ms","method":"GET","requestID":"f8837d670efffaf709c9f6463bfe33d2","responseTime":26,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb5610d-7b64-4a3a-afef-0a9903f9adae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.7949705} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.742726,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","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":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be6167e531b9389abfde14930f0c45b4","responseTime":1,"status":200,"url":"/auth"} 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":"32180b60-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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/1ff00137-dd0b-44e1-9407-060b9e32a484"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling 200 16ms","method":"POST","requestID":"32180b60-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"be6167e531b9389abfde14930f0c45b4","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"be6167e531b9389abfde14930f0c45b4"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a09395c-4f5e-431d-bed1-264072cae379","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.8144786} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.417778,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","rebac_allow":false,"scope_allow":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":"321b18a0-d584-11ee-94df-6bdcf2560c9b"},"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/d4c15150-d313-4b94-8093-e4858c3632a3/signaling 200 12ms","method":"POST","requestID":"321b18a0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","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/f405c607-07c3-480d-aa80-5825978778c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"acb50697edd105fc645cb5d7f7c0a703","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/1ff00137-dd0b-44e1-9407-060b9e32a484"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff405c607-07c3-480d-aa80-5825978778c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0180aa6-2797-487b-b0da-5b4e49a1b04f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.856047} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.429676,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8","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":"32215a30-d584-11ee-94df-6bdcf2560c9b"},"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/f405c607-07c3-480d-aa80-5825978778c8 200 9ms","method":"GET","requestID":"32215a30-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"acb50697edd105fc645cb5d7f7c0a703","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"acb50697edd105fc645cb5d7f7c0a703"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29f8aa20-041f-4d3d-8cf6-0e2c7e2ed458","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.8911545} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.224679,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","rebac_allow":false,"scope_allow":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":"3226b160-d584-11ee-94df-6bdcf2560c9b"},"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/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling 200 12ms","method":"POST","requestID":"3226b160-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d33d5da7-3cb5-48b1-90fb-570f90e39665","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047424.9076521} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.851698,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","rebac_allow":false,"scope_allow":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":"3228fb50-d584-11ee-94df-6bdcf2560c9b"},"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/d4c15150-d313-4b94-8093-e4858c3632a3/signaling 200 14ms","method":"POST","requestID":"3228fb50-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"47a50ee29d0b2a08b042fff3b29ec0bb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.41304,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"47a50ee29d0b2a08b042fff3b29ec0bb"},"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/169c54b7-a011-4297-9fe7-583fe6dead2e"} experiment_1 | {"level":"info","message":"GET /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e 200 23ms","method":"GET","requestID":"47a50ee29d0b2a08b042fff3b29ec0bb","responseTime":23,"status":200,"url":"/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"} gateway_1 | {"time_local":"27/Feb/2024:15:23:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47a50ee29d0b2a08b042fff3b29ec0bb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a05a4d5414c89961a3e00e293e224e72","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.24428,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"a05a4d5414c89961a3e00e293e224e72"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.272659,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047424,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNH0.tiScs9P5N_54BIAXIIOsW_55I9RCVxYPvBm2eBIbk2g"} 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":"323641c0-d584-11ee-94df-6bdcf2560c9b"},"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/f405c607-07c3-480d-aa80-5825978778c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5b853fc68e43f5dba1155fc8598ade50","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff405c607-07c3-480d-aa80-5825978778c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff405c607-07c3-480d-aa80-5825978778c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"c39ccb59-46dc-4e20-966b-255783958997","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.0166748} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56b37e21-0c08-45a4-a79d-ec40837bea76","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.0173407} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f412b2621f337c4eb5448cb2da282555","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"323641c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"data":{"peerconnection":"f405c607-07c3-480d-aa80-5825978778c8","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/f405c607-07c3-480d-aa80-5825978778c8 204 70ms","method":"DELETE","requestID":"323641c0-d584-11ee-94df-6bdcf2560c9b","responseTime":70,"status":204,"url":"/peerconnections/f405c607-07c3-480d-aa80-5825978778c8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff00137-dd0b-44e1-9407-060b9e32a484","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e78bbeb5-bb80-4cb1-b08a-fff47c0a0075","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.0936282} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.706455,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484","object_type":"device","rebac_allow":false,"scope_allow":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":"32450ed0-d584-11ee-94df-6bdcf2560c9b"},"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/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling 200 17ms","method":"POST","requestID":"32450ed0-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/1ff00137-dd0b-44e1-9407-060b9e32a484/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F169c54b7-a011-4297-9fe7-583fe6dead2e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F169c54b7-a011-4297-9fe7-583fe6dead2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"50055602-d20d-4efa-ae47-43dc04c4f28c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.106006} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21d42333-02b7-40f7-a879-62c3a4177479","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.106433} 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":"a05a4d5414c89961a3e00e293e224e72"},"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:35942","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4c15150-d313-4b94-8093-e4858c3632a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b53242ef-00c7-4913-804d-f68df30a9d30","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.118263} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.310412,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4c15150-d313-4b94-8093-e4858c3632a3","object_type":"device","rebac_allow":false,"scope_allow":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":"32484320-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling 200 22ms","method":"POST","requestID":"32484320-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/d4c15150-d313-4b94-8093-e4858c3632a3/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a05a4d5414c89961a3e00e293e224e72"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.746","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"26ff2fbc970c547cacf5027fdcdc12ff"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.755","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"55ca8df1f3c91056b8522cbf892f3b64"} experiment_1 | {"level":"info","message":"DELETE /experiments/169c54b7-a011-4297-9fe7-583fe6dead2e 204 209ms","method":"DELETE","requestID":"a05a4d5414c89961a3e00e293e224e72","responseTime":209,"status":204,"url":"/experiments/169c54b7-a011-4297-9fe7-583fe6dead2e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"5b853fc68e43f5dba1155fc8598ade50","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b853fc68e43f5dba1155fc8598ade50"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"f412b2621f337c4eb5448cb2da282555","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch","requestID":"f412b2621f337c4eb5448cb2da282555"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d70f0b39bf332bd7d3ed006e2583597d","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/d4c15150-d313-4b94-8093-e4858c3632a3' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937016,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1ff00137-dd0b-44e1-9407-060b9e32a484' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"d70f0b39bf332bd7d3ed006e2583597d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85eeabb0-48aa-4324-a3e0-74c4741840b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7aa45c2f-3665-45e8-99bd-cc35fbbe74df","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2106197} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d70f0b39bf332bd7d3ed006e2583597d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76dfc1ba-6cd9-4569-9d17-eb039a236ab6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2182155} 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":"d70f0b39bf332bd7d3ed006e2583597d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85eeabb0-48aa-4324-a3e0-74c4741840b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"397c1b43-dc8b-47e1-bdb1-dfe29d526c7d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2284627} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7acbafe-d4d9-40eb-90d6-6e3393e684e5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2287483} 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":"d70f0b39bf332bd7d3ed006e2583597d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85eeabb0-48aa-4324-a3e0-74c4741840b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85eeabb0-48aa-4324-a3e0-74c4741840b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.228449725Z"}]},"request_id":"2d1b422a-9a26-4849-a6d6-0a67119e9e82","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2341187} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d70f0b39bf332bd7d3ed006e2583597d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"d70f0b39bf332bd7d3ed006e2583597d","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d70f0b39bf332bd7d3ed006e2583597d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f2329aab9d92e434e4fb222d4ec34998","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.832187,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"f2329aab9d92e434e4fb222d4ec34998"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12a3526b-4df5-4f13-95ef-11c01c066b31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c0fbac08-e4c7-4752-ba4d-799ccf9675ea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2612002} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2329aab9d92e434e4fb222d4ec34998"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8635aace-f528-467c-ae5e-6015446381c9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2669256} 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":"f2329aab9d92e434e4fb222d4ec34998"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12a3526b-4df5-4f13-95ef-11c01c066b31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f5e64201-c63c-4f29-bacf-aa969ac777ad","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2763035} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51b22458-09ae-4f07-bdb6-752aae23339b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2765362} 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":"f2329aab9d92e434e4fb222d4ec34998"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12a3526b-4df5-4f13-95ef-11c01c066b31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12a3526b-4df5-4f13-95ef-11c01c066b31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.276285045Z"}]},"request_id":"d0cafd92-887c-4b9d-8021-d18b21234ec5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.2827697} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2329aab9d92e434e4fb222d4ec34998"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"f2329aab9d92e434e4fb222d4ec34998","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2329aab9d92e434e4fb222d4ec34998"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8924ad57cfee76452e328880fadd209f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.853582,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"8924ad57cfee76452e328880fadd209f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6a757f4-1c37-42a5-8afe-b6cf7183ddd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f399a89-60a2-4655-a93e-5cb808dbfc0c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3129745} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8924ad57cfee76452e328880fadd209f"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55d0cd34-1fd6-4b01-b3fb-f67c9b077d43","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3186324} 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":"8924ad57cfee76452e328880fadd209f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6a757f4-1c37-42a5-8afe-b6cf7183ddd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"99759da7-168c-4bf0-b55f-31e792df5577","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3314047} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c405989b-f988-4c88-b7f1-692729923ab4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3316543} 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":"8924ad57cfee76452e328880fadd209f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6a757f4-1c37-42a5-8afe-b6cf7183ddd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6a757f4-1c37-42a5-8afe-b6cf7183ddd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.331375530Z"}]},"request_id":"5c4780d3-dbd4-45d1-a0e2-1dd2becd8e35","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3379467} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8924ad57cfee76452e328880fadd209f"},"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 48ms","method":"POST","requestID":"8924ad57cfee76452e328880fadd209f","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8924ad57cfee76452e328880fadd209f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7982e6268e1c4557e91792b905e38e8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.805662,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"e7982e6268e1c4557e91792b905e38e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08785840-db21-4d5a-a50a-120f470a35aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b18c755-db1c-4651-93f7-d4e4269c704c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3687975} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7982e6268e1c4557e91792b905e38e8"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53d76b67-fe36-4c60-b6da-6c3d22b547f9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3765812} 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":"e7982e6268e1c4557e91792b905e38e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08785840-db21-4d5a-a50a-120f470a35aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"734ea1d5-554c-47bc-ae75-303c22e2fbd4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3865695} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf38e96a-3416-4141-bef2-07f8b4b52eac","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3867726} 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":"e7982e6268e1c4557e91792b905e38e8"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08785840-db21-4d5a-a50a-120f470a35aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08785840-db21-4d5a-a50a-120f470a35aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.386549029Z"}]},"request_id":"a49b09c4-6d9e-4c19-ba07-e6a7f96d280d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.3926938} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7982e6268e1c4557e91792b905e38e8"},"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 48ms","method":"POST","requestID":"e7982e6268e1c4557e91792b905e38e8","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7982e6268e1c4557e91792b905e38e8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9fd75d031f25d278a382aec97276ae62","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787887,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"9fd75d031f25d278a382aec97276ae62"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2db662ca-d49a-4090-876b-600ee014274f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0a1d1d1-dc09-4953-baac-c99e3cebade9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.4263327} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fd75d031f25d278a382aec97276ae62"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a6c57f2-dba1-418f-b6cc-598b61dfc507","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.4346232} 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":"9fd75d031f25d278a382aec97276ae62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2db662ca-d49a-4090-876b-600ee014274f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"db7bee8f-3e31-446f-a626-831d1c83bf2f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.4503822} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85a8b94d-5575-4bce-ba67-fd8c78877bd1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.4506366} 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":"9fd75d031f25d278a382aec97276ae62"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2db662ca-d49a-4090-876b-600ee014274f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2db662ca-d49a-4090-876b-600ee014274f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.450362322Z"}]},"request_id":"a4db920c-bf1a-4a53-80e0-e0e00e893c1b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.457595} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fd75d031f25d278a382aec97276ae62"},"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":"9fd75d031f25d278a382aec97276ae62","responseTime":57,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +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":"9fd75d031f25d278a382aec97276ae62"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29ff613ae8adb1e7c016eadea5396e74","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.214868,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"29ff613ae8adb1e7c016eadea5396e74"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90369b5c-f849-4064-8244-fde0a9a8ff0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f8a7e16d-f507-4818-85ca-95e5100136ae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.4922385} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29ff613ae8adb1e7c016eadea5396e74"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8c3d7ce-955c-47d7-8f10-9673bfc74922","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.499594} 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":"29ff613ae8adb1e7c016eadea5396e74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90369b5c-f849-4064-8244-fde0a9a8ff0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"4d820cc2-99b3-4f5b-bcef-ea539eda571d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5112965} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d1d3d5d-3fd7-416e-b6c6-761f2db99728","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.511593} 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":"29ff613ae8adb1e7c016eadea5396e74"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90369b5c-f849-4064-8244-fde0a9a8ff0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90369b5c-f849-4064-8244-fde0a9a8ff0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.511279958Z"}]},"request_id":"9cde10a3-70fc-4d98-a64d-a51afa27842f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5184264} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29ff613ae8adb1e7c016eadea5396e74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"29ff613ae8adb1e7c016eadea5396e74","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29ff613ae8adb1e7c016eadea5396e74"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23f879de603e3070b92d0abfc52cc8bc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.250905,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"23f879de603e3070b92d0abfc52cc8bc"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5076d69b-ae16-4ce7-8f23-be245d2f2fde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc9ce7ae-4087-42aa-8436-e897b236d330","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5539782} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23f879de603e3070b92d0abfc52cc8bc"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79078eac-3b25-43ff-89b3-8e0866a76e88","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5622525} 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":"23f879de603e3070b92d0abfc52cc8bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5076d69b-ae16-4ce7-8f23-be245d2f2fde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"59fb0f5c-c2ce-4af2-9e3e-1a08945e1c76","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.577216} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0da75ff-65f1-4159-83be-278ea6ab6ea5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5775013} 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":"23f879de603e3070b92d0abfc52cc8bc"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5076d69b-ae16-4ce7-8f23-be245d2f2fde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5076d69b-ae16-4ce7-8f23-be245d2f2fde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.577192410Z"}]},"request_id":"f8265305-ca16-4e33-92ee-6f6e9ae445df","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.5844977} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23f879de603e3070b92d0abfc52cc8bc"},"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":"23f879de603e3070b92d0abfc52cc8bc","responseTime":57,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +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":"23f879de603e3070b92d0abfc52cc8bc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5554bffb1ba5a24ed4c96a7d5caa6aa","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.26895,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"f5554bffb1ba5a24ed4c96a7d5caa6aa"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e83718-588d-4f96-b6c1-382e25ef6a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c56fb8c8-97b4-4b0e-af83-818c8df19936","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6199784} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5554bffb1ba5a24ed4c96a7d5caa6aa"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acddc66b-8885-4c74-8026-3acca3220b0c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6274462} 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":"f5554bffb1ba5a24ed4c96a7d5caa6aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e83718-588d-4f96-b6c1-382e25ef6a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"9a525710-e0e0-4c97-aa0c-85a484e158be","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6402752} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c5eddbf-6562-406a-be48-a3ea83ca8c61","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6403532} 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":"f5554bffb1ba5a24ed4c96a7d5caa6aa"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e83718-588d-4f96-b6c1-382e25ef6a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e83718-588d-4f96-b6c1-382e25ef6a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.640258308Z"}]},"request_id":"a9b84eed-0fcf-4f30-8de3-3d913f713853","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6469002} device_1 | {"level":"info","message":"postDevices 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":"f5554bffb1ba5a24ed4c96a7d5caa6aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"f5554bffb1ba5a24ed4c96a7d5caa6aa","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5554bffb1ba5a24ed4c96a7d5caa6aa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a6c41f54b91b504ef0be628fba451ab7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.254035,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"a6c41f54b91b504ef0be628fba451ab7"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0af4671e-d672-4e8a-bf18-0b046f2fbc72","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6808956} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6c41f54b91b504ef0be628fba451ab7"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0e07aa9-b4a9-4fdb-9755-0d4a68b81d7a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.6891901} 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":"a6c41f54b91b504ef0be628fba451ab7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"3527ce86-aaab-4330-a61b-890a90d02eb6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7019296} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bab2490f-098b-447a-8664-8eb95e4a0e2d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7023077} 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":"a6c41f54b91b504ef0be628fba451ab7"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.701907256Z"}]},"request_id":"d69327a9-9546-487f-9646-b43705504a3f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7095368} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6c41f54b91b504ef0be628fba451ab7"},"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 55ms","method":"POST","requestID":"a6c41f54b91b504ef0be628fba451ab7","responseTime":55,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6c41f54b91b504ef0be628fba451ab7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d50d9a67996355834f311c240c3772a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.889263,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"1d50d9a67996355834f311c240c3772a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb79c14c7-0144-4b9c-8c30-f8e0028b3490","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a2b7551-a902-410a-bf11-91967b2a05bd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7464218} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d50d9a67996355834f311c240c3772a"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e7f62c7-dd06-4a97-9193-0f6c3916700e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7541907} 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":"1d50d9a67996355834f311c240c3772a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb79c14c7-0144-4b9c-8c30-f8e0028b3490","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"9e031cd3-12df-473f-be4c-3a3358243021","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7651365} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51255889-6843-4e40-bd2f-ae1abeb2f7a0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7653701} 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":"1d50d9a67996355834f311c240c3772a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb79c14c7-0144-4b9c-8c30-f8e0028b3490","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb79c14c7-0144-4b9c-8c30-f8e0028b3490","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.765119779Z"}]},"request_id":"596586de-1076-4402-9fe7-983c0dbba5c8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.7718892} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d50d9a67996355834f311c240c3772a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"1d50d9a67996355834f311c240c3772a","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d50d9a67996355834f311c240c3772a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2b25c56913f4746bd2f4c23769ef3d2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.296431,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"b2b25c56913f4746bd2f4c23769ef3d2"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8a5a9107-fb5b-43b1-bf9b-cf6d3ebb4ab3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8110802} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2b25c56913f4746bd2f4c23769ef3d2"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ea014e1-3909-4989-97d7-22c728df8115","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8192067} 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":"b2b25c56913f4746bd2f4c23769ef3d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"eda6b336-5f83-49b4-abe1-58505be36aee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8305109} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9746f99-3a32-4cff-9a92-1952fc0dfd39","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8307428} 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":"b2b25c56913f4746bd2f4c23769ef3d2"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.830479649Z"}]},"request_id":"1fe45787-2214-461b-bbf6-ba6758ee92c3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8381324} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2b25c56913f4746bd2f4c23769ef3d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"b2b25c56913f4746bd2f4c23769ef3d2","responseTime":57,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2b25c56913f4746bd2f4c23769ef3d2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"02f748d024f5d273d7e234856feaa91c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.177856,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"02f748d024f5d273d7e234856feaa91c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04b5a8b3-d3ab-4c71-8513-8fc98ee78d63","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8786023} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f748d024f5d273d7e234856feaa91c"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce520bf3-48e1-49e9-b7e1-18c46ae0e9d6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.887405} 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":"02f748d024f5d273d7e234856feaa91c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"52d84e89-d2ff-4010-8e85-b08c8f2f2f4a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.8984735} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7135346-a175-41de-a2b9-03d9bf1a73f5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.898783} 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":"02f748d024f5d273d7e234856feaa91c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.898455263Z"}]},"request_id":"1a152e2d-3fa3-471e-b789-a4c6d48cae62","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9056268} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f748d024f5d273d7e234856feaa91c"},"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 55ms","method":"POST","requestID":"02f748d024f5d273d7e234856feaa91c","responseTime":55,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02f748d024f5d273d7e234856feaa91c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"697fea7e27dcd5892d5c0a45a727d40c","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.15965,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} 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":"697fea7e27dcd5892d5c0a45a727d40c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d922ad04-e34a-440c-9dd1-1c832d2d8225","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9419143} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"697fea7e27dcd5892d5c0a45a727d40c"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7975c36f-6da1-4b5d-ba39-84ac3ea53a53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.94826} 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":"697fea7e27dcd5892d5c0a45a727d40c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"a4ae43e2-c632-4196-ac78-089c1615f36e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9589062} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a088f569-2af0-4527-8a2a-189a1e842f2f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9593155} 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":"697fea7e27dcd5892d5c0a45a727d40c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.958880598Z"}]},"request_id":"dff8330f-aa3e-4336-8d7c-fe127843628e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9652102} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"697fea7e27dcd5892d5c0a45a727d40c"},"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 49ms","method":"POST","requestID":"697fea7e27dcd5892d5c0a45a727d40c","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"697fea7e27dcd5892d5c0a45a727d40c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a59e086cbcaed67ab89bdc12d630dc02","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.07829,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:45Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047425,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNX0.xbYvDRhrXQSaV7K6kTxtMV5_I_tm4Hqrb6UohXZLOxQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a59e086cbcaed67ab89bdc12d630dc02"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.830479649Z"}]},"request_id":"c92d929d-be00-4333-99f3-b51385c7a3dc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047425.9963439} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a59e086cbcaed67ab89bdc12d630dc02"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54e3b7be-9cc2-44f3-8a5d-5037fa0f556f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.0038638} 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":"a59e086cbcaed67ab89bdc12d630dc02"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.830479649Z"}]},"request_id":"34aa9061-164f-4ed2-953e-a8eccf5f471a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.0161572} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a59e086cbcaed67ab89bdc12d630dc02"},"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/85a2169f-bd06-41fb-94a7-8a03554bbaf7? 200 39ms","method":"PATCH","requestID":"a59e086cbcaed67ab89bdc12d630dc02","responseTime":39,"status":200,"url":"/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a59e086cbcaed67ab89bdc12d630dc02"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0a378e5e5458a76f6411122fc837e46d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133751,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a378e5e5458a76f6411122fc837e46d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.898455263Z"}]},"request_id":"60c1fea3-a5ff-4ec2-93cb-1ec83e934432","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.0467324} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a378e5e5458a76f6411122fc837e46d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c529ed1-fdd1-4069-8582-209be1d7567c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.0552087} 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":"0a378e5e5458a76f6411122fc837e46d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.898455263Z"}]},"request_id":"93c84b56-abd5-4467-a298-ebfcc77f35b9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.067645} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a378e5e5458a76f6411122fc837e46d"},"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/26ae7c5d-8c65-4413-84cd-5f6c55672c2c? 200 41ms","method":"PATCH","requestID":"0a378e5e5458a76f6411122fc837e46d","responseTime":41,"status":200,"url":"/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a378e5e5458a76f6411122fc837e46d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd577338fb3003ec45ab9e8babb7226a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27368,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd577338fb3003ec45ab9e8babb7226a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.958880598Z"}]},"request_id":"7a9767d3-081d-4f5b-9126-2311f98294c3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.0967643} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd577338fb3003ec45ab9e8babb7226a"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bf05556-44b7-4e79-a10d-85d397c583ff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.1052976} 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":"dd577338fb3003ec45ab9e8babb7226a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.958880598Z"}]},"request_id":"48d39fb4-dbfa-47cd-b037-0da3d4d5c7c5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.116212} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd577338fb3003ec45ab9e8babb7226a"},"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/df868622-9622-4214-8f20-50062bfae062? 200 39ms","method":"PATCH","requestID":"dd577338fb3003ec45ab9e8babb7226a","responseTime":39,"status":200,"url":"/devices/df868622-9622-4214-8f20-50062bfae062?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df868622-9622-4214-8f20-50062bfae062? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd577338fb3003ec45ab9e8babb7226a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14cc9c6be1ba05d3b827cbe07e6d7a34","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286951,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F85a2169f-bd06-41fb-94a7-8a03554bbaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.830479649Z"}]},"request_id":"c776d1ce-5c11-4414-a93e-dc5b06b7b369","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.143326} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"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:35942","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.247695,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342861,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/85eeabb0-48aa-4324-a3e0-74c4741840b2","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/85eeabb0-48aa-4324-a3e0-74c4741840b2","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"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/12a3526b-4df5-4f13-95ef-11c01c066b31","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/12a3526b-4df5-4f13-95ef-11c01c066b31","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.952482,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.741885,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6a757f4-1c37-42a5-8afe-b6cf7183ddd5","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d6a757f4-1c37-42a5-8afe-b6cf7183ddd5","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"14cc9c6be1ba05d3b827cbe07e6d7a34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14cc9c6be1ba05d3b827cbe07e6d7a34"} device_1 | {"level":"info","message":"GET /devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7? 200 47ms","method":"GET","requestID":"14cc9c6be1ba05d3b827cbe07e6d7a34","responseTime":47,"status":200,"url":"/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0ff21fc7e28dbc60727fb2ad336938f6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.689254,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff21fc7e28dbc60727fb2ad336938f6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ae7c5d-8c65-4413-84cd-5f6c55672c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.898455263Z"}]},"request_id":"2de703be-71c0-421c-9381-b79a3f1b73be","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.2006624} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff21fc7e28dbc60727fb2ad336938f6"},"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:35942","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086685,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944791,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922701,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913602,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08785840-db21-4d5a-a50a-120f470a35aa","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/08785840-db21-4d5a-a50a-120f470a35aa","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"0ff21fc7e28dbc60727fb2ad336938f6"},"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/2db662ca-d49a-4090-876b-600ee014274f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2db662ca-d49a-4090-876b-600ee014274f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"0ff21fc7e28dbc60727fb2ad336938f6"},"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/90369b5c-f849-4064-8244-fde0a9a8ff0c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/90369b5c-f849-4064-8244-fde0a9a8ff0c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"0ff21fc7e28dbc60727fb2ad336938f6"},"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/5076d69b-ae16-4ce7-8f23-be245d2f2fde","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/5076d69b-ae16-4ce7-8f23-be245d2f2fde","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"0ff21fc7e28dbc60727fb2ad336938f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"client_addr":"127.0.0.1:36136","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36140","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36136","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.204875,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36140","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.852858,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff21fc7e28dbc60727fb2ad336938f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"0ff21fc7e28dbc60727fb2ad336938f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ff21fc7e28dbc60727fb2ad336938f6"} device_1 | {"level":"info","message":"GET /devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c? 200 63ms","method":"GET","requestID":"0ff21fc7e28dbc60727fb2ad336938f6","responseTime":63,"status":200,"url":"/devices/26ae7c5d-8c65-4413-84cd-5f6c55672c2c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc49e271e8322b723cb9f70ede78c42a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.356492,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/df868622-9622-4214-8f20-50062bfae062","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc49e271e8322b723cb9f70ede78c42a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf868622-9622-4214-8f20-50062bfae062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:45.958880598Z"}]},"request_id":"d467cc7e-cf3e-43f0-bf90-8ea163e01325","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.2701075} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc49e271e8322b723cb9f70ede78c42a"},"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:35942","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.732181,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205661,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.045905,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e83718-588d-4f96-b6c1-382e25ef6a57","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9e83718-588d-4f96-b6c1-382e25ef6a57","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"dc49e271e8322b723cb9f70ede78c42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2a2b1002-5b47-49f1-82c0-6c8fa96eeddb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"dc49e271e8322b723cb9f70ede78c42a"},"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/b79c14c7-0144-4b9c-8c30-f8e0028b3490","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b79c14c7-0144-4b9c-8c30-f8e0028b3490","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"dc49e271e8322b723cb9f70ede78c42a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:36120","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.653991,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/85a2169f-bd06-41fb-94a7-8a03554bbaf7","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"dc49e271e8322b723cb9f70ede78c42a"},"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/df868622-9622-4214-8f20-50062bfae062? 200 45ms","method":"GET","requestID":"dc49e271e8322b723cb9f70ede78c42a","responseTime":45,"status":200,"url":"/devices/df868622-9622-4214-8f20-50062bfae062?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df868622-9622-4214-8f20-50062bfae062? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc49e271e8322b723cb9f70ede78c42a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d68bdd456f51306b43b8493fa3b14daf","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.114307,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"d68bdd456f51306b43b8493fa3b14daf"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7431542c-1e41-4d0d-925b-bf98f1404d5d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.351202} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d68bdd456f51306b43b8493fa3b14daf"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd139efd-142a-428a-ade5-e1853f4318f6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.3590338} 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":"d68bdd456f51306b43b8493fa3b14daf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"e46e978c-31cf-41c1-992c-5ea97ebf19f4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.374465} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9be6c46e-dbc3-48b5-b625-d757de24b075","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.3749597} 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":"d68bdd456f51306b43b8493fa3b14daf"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.374430669Z"}]},"request_id":"ce0355a6-db0c-4c63-8bdd-ebc94139b667","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.3846786} 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":"d68bdd456f51306b43b8493fa3b14daf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"d68bdd456f51306b43b8493fa3b14daf","responseTime":82,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d68bdd456f51306b43b8493fa3b14daf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"1dd5b824aa5289d96257bde261a9b864","responseTime":10,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.161634,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"1dd5b824aa5289d96257bde261a9b864"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8fa0944f-1027-4530-a07b-a9bf3c997c5a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.4612083} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1dd5b824aa5289d96257bde261a9b864"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23a0658f-0474-4db7-89de-013163e83484","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.4675577} 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":"1dd5b824aa5289d96257bde261a9b864"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f8e3960c-4ba8-4545-ad2a-32750821128d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.479334} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcc72e22-5010-4bfc-8d20-6d15ff7eae23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.4795232} 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":"1dd5b824aa5289d96257bde261a9b864"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.479319381Z"}]},"request_id":"15ffa6e6-bf02-409b-8ff1-c010e2f4863a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.4835622} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1dd5b824aa5289d96257bde261a9b864"},"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 71ms","method":"POST","requestID":"1dd5b824aa5289d96257bde261a9b864","responseTime":71,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dd5b824aa5289d96257bde261a9b864"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed0b824497652e7b12bcc47b24a80374","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.601319,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047426,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyNn0.lU1sNDNtjSMJ-vbgNPedq_ln9hQQL12UcgOtfRjlddY"} 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":"ed0b824497652e7b12bcc47b24a80374"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0fbf7307-dd41-498d-9e85-fadce62d88da","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.5084424} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed0b824497652e7b12bcc47b24a80374"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"baf9b567-660a-4a8e-9641-ef6287e0d24f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.5129895} 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":"ed0b824497652e7b12bcc47b24a80374"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"cf43039e-f05e-474f-b607-b680aab3de23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.523189} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f5b8768-ad39-4ddf-b6fa-d20c50a40d24","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.5234094} 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":"ed0b824497652e7b12bcc47b24a80374"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.523175051Z"}]},"request_id":"96efcdf1-ee9f-4b40-b6d1-d9a6b48bd1fe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047426.5276587} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed0b824497652e7b12bcc47b24a80374"},"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":"ed0b824497652e7b12bcc47b24a80374","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed0b824497652e7b12bcc47b24a80374"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7cce5f9ff67aeeb71a49bb5c30e31c0a","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7381617d-9cc9-469c-ab4c-3f6876c84847/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":"7cce5f9ff67aeeb71a49bb5c30e31c0a"} device_1 | {"level":"info","message":"OPTIONS /devices/7381617d-9cc9-469c-ab4c-3f6876c84847/websocket 200 1ms","method":"OPTIONS","requestID":"7cce5f9ff67aeeb71a49bb5c30e31c0a","responseTime":1,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"428a5adf9c1ae1b252b6521833f074b3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220114,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"428a5adf9c1ae1b252b6521833f074b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6360dff61d08bab18a4a31ac71a5621","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/527847a2-d743-42e2-8507-692763481935/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":"c6360dff61d08bab18a4a31ac71a5621"} device_1 | {"level":"info","message":"OPTIONS /devices/527847a2-d743-42e2-8507-692763481935/websocket 200 1ms","method":"OPTIONS","requestID":"c6360dff61d08bab18a4a31ac71a5621","responseTime":1,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0f5e39248e112e94c68afeb3f92a187f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755312,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f5e39248e112e94c68afeb3f92a187f"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847/websocket 200 38ms","method":"POST","requestID":"428a5adf9c1ae1b252b6521833f074b3","responseTime":38,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7381617d-9cc9-469c-ab4c-3f6876c84847/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"428a5adf9c1ae1b252b6521833f074b3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/527847a2-d743-42e2-8507-692763481935/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":"0f5e39248e112e94c68afeb3f92a187f"} device_1 | {"level":"info","message":"POST /devices/527847a2-d743-42e2-8507-692763481935/websocket 200 24ms","method":"POST","requestID":"0f5e39248e112e94c68afeb3f92a187f","responseTime":24,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/527847a2-d743-42e2-8507-692763481935' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a546bbda5b72dd920e235db37b8feb64","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.173865,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"a546bbda5b72dd920e235db37b8feb64"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.523175051Z"}]},"request_id":"98d9e346-1860-48f7-a321-33dc769aea75","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.5519366} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a546bbda5b72dd920e235db37b8feb64"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847? 200 15ms","method":"GET","requestID":"a546bbda5b72dd920e235db37b8feb64","responseTime":15,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7381617d-9cc9-469c-ab4c-3f6876c84847? 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":"a546bbda5b72dd920e235db37b8feb64"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"00272adc189705bee69c267d0b8fe51a","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:35942","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.704446,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"00272adc189705bee69c267d0b8fe51a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"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:35942","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624449,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c016264-a926-4aef-b840-6aeffac3a1ba","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9c016264-a926-4aef-b840-6aeffac3a1ba","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"34615f20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.375781,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3461ad40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c016264-a926-4aef-b840-6aeffac3a1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.479319381Z"}]},"request_id":"390fb09a-6e7d-42c2-9679-bf7d9bf8cc5d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.6365254} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34615f20-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.523175051Z"}]},"request_id":"d7ca391c-531c-4db7-af1e-3f40b74cfabc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.6376061} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3461ad40-d584-11ee-94df-6bdcf2560c9b"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847? 200 18ms","method":"GET","requestID":"3461ad40-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111891,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34615f20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9c016264-a926-4aef-b840-6aeffac3a1ba? 200 26ms","method":"GET","requestID":"34615f20-d584-11ee-94df-6bdcf2560c9b","responseTime":26,"status":200,"url":"/devices/9c016264-a926-4aef-b840-6aeffac3a1ba?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"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/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92723,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"346de240-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647144,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"346e3060-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.510336,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baeb1158-3ec1-4bbd-9aaf-7bcb0a0aa0d7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7155056} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","rebac_allow":false,"scope_allow":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":"346e5770-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.374430669Z"}]},"request_id":"44dc7152-8a92-4eda-af01-1f4fb4ee9811","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7213948} device_1 | {"level":"info","message":"POST /devices/527847a2-d743-42e2-8507-692763481935/signaling 200 11ms","method":"POST","requestID":"346e5770-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/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":"346de240-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.523175051Z"}]},"request_id":"d4d38778-41df-451b-9b47-d97eaf8bbb00","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.723102} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"346e3060-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3f74c8bf-3c60-41ec-82ef-4522e24f9202#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3f74c8bf-3c60-41ec-82ef-4522e24f9202","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8a294913-e1b6-4ae5-930a-9130c4a9066e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7275624} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bad71a84-3f16-4cfd-8a3d-e65e27086925","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.727901} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00272adc189705bee69c267d0b8fe51a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"GET /devices/527847a2-d743-42e2-8507-692763481935? 200 23ms","method":"GET","requestID":"346de240-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"860f6aad-dffc-4955-b63f-421d33ef588f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7307136} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879197,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7381617d-9cc9-469c-ab4c-3f6876c84847? 200 22ms","method":"GET","requestID":"346e3060-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","rebac_allow":false,"scope_allow":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":"3470a160-d584-11ee-94df-6bdcf2560c9b"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling 200 10ms","method":"POST","requestID":"3470a160-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a30ca5b-680c-447e-a9db-b00a7f7d8667","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7424521} experiment_1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"00272adc189705bee69c267d0b8fe51a","responseTime":173,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.190632,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","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":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00272adc189705bee69c267d0b8fe51a"} 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":"34724f10-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"POST /devices/527847a2-d743-42e2-8507-692763481935/signaling 200 12ms","method":"POST","requestID":"34724f10-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c3b881fb3da012c7dc307d4cedc8d39","responseTime":4,"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:35942","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024713,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3b881fb3da012c7dc307d4cedc8d39"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bbd9424-efce-485c-8780-269e41f86dee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7575104} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.661213,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","rebac_allow":false,"scope_allow":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":"34749900-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.374430669Z"}]},"request_id":"8e10508b-295b-4f02-89a1-39fd2473ba24","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7619293} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling 200 11ms","method":"POST","requestID":"34749900-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/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":"6c3b881fb3da012c7dc307d4cedc8d39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"2629e25b-bb5b-4ee2-9058-1379c6acfc62"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8bca2329-25ac-4ee5-b344-84b916f19b0c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d2b920e9-ba74-4115-bf9e-266dac209bb7"}]},"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/527847a2-d743-42e2-8507-692763481935"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847"}],"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":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/527847a2-d743-42e2-8507-692763481935? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c3b881fb3da012c7dc307d4cedc8d39"} device_1 | {"level":"info","message":"GET /devices/527847a2-d743-42e2-8507-692763481935? 200 19ms","method":"GET","requestID":"6c3b881fb3da012c7dc307d4cedc8d39","responseTime":19,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.733599,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"3476e2f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"769d57d72d175a2ea75c9a90f39205b7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800983,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047428,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOH0.ddQt89QWiqel6Qb5JcKXf3cy0s-0lihC6yrS034Ggh8"} 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":"769d57d72d175a2ea75c9a90f39205b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"1cbb0468-acfd-4e1f-94d3-38be706a95da","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7831} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a01bb25e-d723-49bb-b63a-6b07356f20eb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7834697} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:46.523175051Z"}]},"request_id":"cec0e343-e36f-483b-ab37-bae97ce1d1bb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.7842746} 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":"3476e2f0-d584-11ee-94df-6bdcf2560c9b"},"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":"769d57d72d175a2ea75c9a90f39205b7"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847? 200 15ms","method":"GET","requestID":"769d57d72d175a2ea75c9a90f39205b7","responseTime":15,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7381617d-9cc9-469c-ab4c-3f6876c84847? 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":"769d57d72d175a2ea75c9a90f39205b7"} 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/fcb31bbc-2369-4964-bfd9-adc3c6363d40'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"3476e2f0-d584-11ee-94df-6bdcf2560c9b","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f95c07fd-bac2-4906-ad6c-5c8316abcdff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.8514757} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.176029,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","rebac_allow":false,"scope_allow":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":"3482f0e0-d584-11ee-94df-6bdcf2560c9b"},"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/527847a2-d743-42e2-8507-692763481935/signaling 200 10ms","method":"POST","requestID":"3482f0e0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c418974-1ecf-416d-8eb1-32a7b9bd998d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047428.8633358} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790463,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","rebac_allow":false,"scope_allow":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":"3484c5a0-d584-11ee-94df-6bdcf2560c9b"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling 200 10ms","method":"POST","requestID":"3484c5a0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6dd37b7f1cbec10597cc24453251e4c8","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/527847a2-d743-42e2-8507-692763481935"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"6dd37b7f1cbec10597cc24453251e4c8","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"6dd37b7f1cbec10597cc24453251e4c8"} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","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/fcb31bbc-2369-4964-bfd9-adc3c6363d40' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7300b0e502b8de650c89a430b540879","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/527847a2-d743-42e2-8507-692763481935"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcb31bbc-2369-4964-bfd9-adc3c6363d40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d108d013-6956-4c15-ab09-6d4ce96679f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.1093624} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.959988,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40","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":"34aa00e0-d584-11ee-94df-6bdcf2560c9b"},"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/fcb31bbc-2369-4964-bfd9-adc3c6363d40 200 14ms","method":"GET","requestID":"34aa00e0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"b7300b0e502b8de650c89a430b540879","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7300b0e502b8de650c89a430b540879"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87b9d26a-81e7-40f1-8278-a0cbaa922ad0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.143952} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.292599,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","rebac_allow":false,"scope_allow":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":"34afa630-d584-11ee-94df-6bdcf2560c9b"},"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/527847a2-d743-42e2-8507-692763481935/signaling 200 11ms","method":"POST","requestID":"34afa630-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da8d8f25-ff50-4846-be7d-3052722b7af9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.1587873} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.013227,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","rebac_allow":false,"scope_allow":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":"34b1c910-d584-11ee-94df-6bdcf2560c9b"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling 200 13ms","method":"POST","requestID":"34b1c910-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c2fffa07da87815ae8dd59d6ed18e2c","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.423441,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} 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":"9c2fffa07da87815ae8dd59d6ed18e2c"},"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/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} gateway_1 | {"time_local":"27/Feb/2024:15:23:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202 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":"9c2fffa07da87815ae8dd59d6ed18e2c"} experiment_1 | {"level":"info","message":"GET /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202 200 19ms","method":"GET","requestID":"9c2fffa07da87815ae8dd59d6ed18e2c","responseTime":19,"status":200,"url":"/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"659990d4c38166abf909342e1728a920","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.663695,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} 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":"659990d4c38166abf909342e1728a920"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.208644,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} 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":"34bc7770-d584-11ee-94df-6bdcf2560c9b"},"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/fcb31bbc-2369-4964-bfd9-adc3c6363d40' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dd8128a0612bae8169027d25c601944a","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"56bc0024945a80e1a3c0e2012d22e5a4","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcb31bbc-2369-4964-bfd9-adc3c6363d40': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcb31bbc-2369-4964-bfd9-adc3c6363d40","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"1cf5020a-168b-422b-9f40-3f27b4a7e947","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.2505915} 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/527847a2-d743-42e2-8507-692763481935"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"}}},"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/527847a2-d743-42e2-8507-692763481935"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"}}},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67c9783b-4961-49b7-976d-6b74690f5808","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.2509985} 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":"34bc7770-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"peerconnection":"fcb31bbc-2369-4964-bfd9-adc3c6363d40","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/fcb31bbc-2369-4964-bfd9-adc3c6363d40 204 59ms","method":"DELETE","requestID":"34bc7770-d584-11ee-94df-6bdcf2560c9b","responseTime":59,"status":204,"url":"/peerconnections/fcb31bbc-2369-4964-bfd9-adc3c6363d40"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F527847a2-d743-42e2-8507-692763481935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5ba3734-d7dd-42e5-b176-577e51e41fd3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.3178496} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.021551,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/527847a2-d743-42e2-8507-692763481935","object_type":"device","rebac_allow":false,"scope_allow":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":"34c96fc0-d584-11ee-94df-6bdcf2560c9b"},"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/527847a2-d743-42e2-8507-692763481935/signaling 200 19ms","method":"POST","requestID":"34c96fc0-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/527847a2-d743-42e2-8507-692763481935/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3f74c8bf-3c60-41ec-82ef-4522e24f9202': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3f74c8bf-3c60-41ec-82ef-4522e24f9202","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"e7538626-25e3-4313-bb4c-6c131f4a5230","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.330651} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"225f9bd1-433d-4ec1-a468-c9f839053de0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.3310597} 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":"659990d4c38166abf909342e1728a920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7381617d-9cc9-469c-ab4c-3f6876c84847","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2bb2f48-8378-4fdb-925f-7e208617db74","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.3407147} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.160017,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847","object_type":"device","rebac_allow":false,"scope_allow":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":"34cd1940-d584-11ee-94df-6bdcf2560c9b"},"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/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling 200 19ms","method":"POST","requestID":"34cd1940-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/7381617d-9cc9-469c-ab4c-3f6876c84847/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} gateway_1 | {"time_local":"27/Feb/2024:15:23:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"659990d4c38166abf909342e1728a920"} experiment_1 | {"level":"info","message":"DELETE /experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202 204 198ms","method":"DELETE","requestID":"659990d4c38166abf909342e1728a920","responseTime":198,"status":204,"url":"/experiments/3f74c8bf-3c60-41ec-82ef-4522e24f9202"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"dd8128a0612bae8169027d25c601944a","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd8128a0612bae8169027d25c601944a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"56bc0024945a80e1a3c0e2012d22e5a4","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"56bc0024945a80e1a3c0e2012d22e5a4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0eb367b318eab000721ff05c079bfc9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913303,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} gateway_1 | {"time_local":"27/Feb/2024:15:23:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1925","request_time":"0.913","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"63855a70b4810d60d3fcd8ae7e83f425"} gateway_1 | {"time_local":"27/Feb/2024:15:23:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"0.903","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7e50a4b7b1186dca11aa34d6f26fc1be"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} 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":"c0eb367b318eab000721ff05c079bfc9"},"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/527847a2-d743-42e2-8507-692763481935' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7381617d-9cc9-469c-ab4c-3f6876c84847' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3100c0cc-101a-45d2-bd01-1b420b64773c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4356365} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0eb367b318eab000721ff05c079bfc9"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4d60ff6-675a-4ac2-a981-d610609b6c07","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4402094} 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":"c0eb367b318eab000721ff05c079bfc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"4be53cf6-8a8c-4960-b4fd-12c290cb1236","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4535475} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9f06b86-a6c0-4ac8-93ee-7f3927687891","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4536474} 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":"c0eb367b318eab000721ff05c079bfc9"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"8b3e0934-3d24-4d3a-9740-1676c377c8f3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4585555} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0eb367b318eab000721ff05c079bfc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"c0eb367b318eab000721ff05c079bfc9","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0eb367b318eab000721ff05c079bfc9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75de544fdf7fe32be8714aba13fe0fea","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742565,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} 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":"75de544fdf7fe32be8714aba13fe0fea"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"edb38077-71f4-4095-bdc6-288f71671307","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.4869747} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75de544fdf7fe32be8714aba13fe0fea"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f3c3777-c744-4649-bd54-0a15b231b678","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.49311} 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":"75de544fdf7fe32be8714aba13fe0fea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"6f9e322b-20f8-48eb-a30e-58d725b59c15","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.5028746} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9df1f422-afeb-46f0-bd49-11b5af1e1989","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.5031033} 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":"75de544fdf7fe32be8714aba13fe0fea"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.502855872Z"}]},"request_id":"fcd21f80-4381-4caa-a53e-2f86dfd784fd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.5078993} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75de544fdf7fe32be8714aba13fe0fea"},"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":"75de544fdf7fe32be8714aba13fe0fea","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75de544fdf7fe32be8714aba13fe0fea"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ecb2e2a7ecbab32c2b8ac29beec5b961","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888558,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047429,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQyOX0.liACx1ueWiDk3Sa-iMNBycGfbIrqAqUk56Ej_fckA60"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecb2e2a7ecbab32c2b8ac29beec5b961"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"9b0d7ae2-9783-41c6-a2ea-0d7587543e23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047429.9968326} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecb2e2a7ecbab32c2b8ac29beec5b961"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d211d83d-4239-4c09-b262-03b85e2dee53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047430.0052803} 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":"ecb2e2a7ecbab32c2b8ac29beec5b961"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"b0fe76f7-988d-403c-8e34-c3f71c65eb61","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047430.0228837} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecb2e2a7ecbab32c2b8ac29beec5b961"},"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/169ff286-526e-4b43-a780-b89ce05992ad 200 45ms","method":"PATCH","requestID":"ecb2e2a7ecbab32c2b8ac29beec5b961","responseTime":45,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad"} gateway_1 | {"time_local":"27/Feb/2024:15:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/169ff286-526e-4b43-a780-b89ce05992ad HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ecb2e2a7ecbab32c2b8ac29beec5b961"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMH0.uATwpOSBFLs4EASFcYvuBuwM5NB0737GHSdBM0xFhLQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec487de4064370052dcaec52d850be1a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115906,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:50Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047430,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMH0.uATwpOSBFLs4EASFcYvuBuwM5NB0737GHSdBM0xFhLQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec487de4064370052dcaec52d850be1a"},"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/169ff286-526e-4b43-a780-b89ce05992ad/websocket 200 25ms","method":"POST","requestID":"ec487de4064370052dcaec52d850be1a","responseTime":25,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/169ff286-526e-4b43-a780-b89ce05992ad/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.3","requestID":"ec487de4064370052dcaec52d850be1a"} device_1 | {"level":"info","message":"device 'http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ac52b2745a5110f1b7803150f3b2fe84","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/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":"ac52b2745a5110f1b7803150f3b2fe84"} device_1 | {"level":"info","message":"OPTIONS /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/websocket 200 1ms","method":"OPTIONS","requestID":"ac52b2745a5110f1b7803150f3b2fe84","responseTime":1,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26f46efaee2eba7f0423b2abe6596717","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25319,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"26f46efaee2eba7f0423b2abe6596717"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/websocket 200 42ms","method":"POST","requestID":"26f46efaee2eba7f0423b2abe6596717","responseTime":42,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"26f46efaee2eba7f0423b2abe6596717"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2472f6ac18bddab6d0186ed4eef57a2f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179956,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"2472f6ac18bddab6d0186ed4eef57a2f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"e1b3edf8-ab9f-4c39-bde5-8b63a69ae0a7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.6386604} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2472f6ac18bddab6d0186ed4eef57a2f"},"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":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/169ff286-526e-4b43-a780-b89ce05992ad? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2472f6ac18bddab6d0186ed4eef57a2f"} device_1 | {"level":"info","message":"GET /devices/169ff286-526e-4b43-a780-b89ce05992ad? 200 20ms","method":"GET","requestID":"2472f6ac18bddab6d0186ed4eef57a2f","responseTime":20,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89a024ce0800473d634e398f02b05400","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240007,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"89a024ce0800473d634e398f02b05400"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.502855872Z"}]},"request_id":"ae939b09-b038-469f-9514-52fd07ebcec8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.6690292} 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":"89a024ce0800473d634e398f02b05400"},"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/a19a2dc7-98de-4105-a875-08be8220f7d3? 200 22ms","method":"GET","requestID":"89a024ce0800473d634e398f02b05400","responseTime":22,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a19a2dc7-98de-4105-a875-08be8220f7d3? 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":"89a024ce0800473d634e398f02b05400"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e7be75e21b18b8edbc4170468636dd8","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.221283,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"5e7be75e21b18b8edbc4170468636dd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"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:35942","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307441,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"363bc470-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839982,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"363c1290-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"7a864598-5fed-45ad-b553-3612a6bd5e31","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.7494736} 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":"363bc470-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.502855872Z"}]},"request_id":"f245be55-ab6b-4d93-b7d7-1db40fee177b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.751279} 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":"363c1290-d584-11ee-94df-6bdcf2560c9b"},"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/169ff286-526e-4b43-a780-b89ce05992ad? 200 25ms","method":"GET","requestID":"363bc470-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a19a2dc7-98de-4105-a875-08be8220f7d3? 200 24ms","method":"GET","requestID":"363c1290-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"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/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.677816,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"3648bcc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.537902,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"36490ae0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03087012-d892-4211-90d3-756bcbcfbe3d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.837595} authorization_1 | {"client_addr":"127.0.0.1:36110","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.290206,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","rebac_allow":false,"scope_allow":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":"36495900-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"bfaccfba-7634-4194-9255-70a2b24080d6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.8414416} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.502855872Z"}]},"request_id":"f0aa11c9-cf9e-462f-bb2f-ffa1ba3931cf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.8436747} 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":"3648bcc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} 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":"36490ae0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F778614e3-03d1-4b71-acb8-989611e363ed#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F778614e3-03d1-4b71-acb8-989611e363ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"5179f514-a4a6-4600-85f2-a390cb55395d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.8530638} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4833452-7a15-433a-9489-9aa38f68c566","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.853288} 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":"5e7be75e21b18b8edbc4170468636dd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling 200 33ms","method":"POST","requestID":"36495900-d584-11ee-94df-6bdcf2560c9b","responseTime":33,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/169ff286-526e-4b43-a780-b89ce05992ad? 200 39ms","method":"GET","requestID":"3648bcc0-d584-11ee-94df-6bdcf2560c9b","responseTime":39,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a19a2dc7-98de-4105-a875-08be8220f7d3? 200 38ms","method":"GET","requestID":"36490ae0-d584-11ee-94df-6bdcf2560c9b","responseTime":38,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb8a5780-88e0-4b12-8087-02d4e4a7714e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.8706799} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.405526,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"5e7be75e21b18b8edbc4170468636dd8","responseTime":186,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","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":"27/Feb/2024:15:23:51 +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":"5e7be75e21b18b8edbc4170468636dd8"} 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":"364f7380-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b12f444e-ca6b-4549-92f8-5083bf734269","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.874426} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.571156,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36500fc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"POST /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling 200 14ms","method":"POST","requestID":"364f7380-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e1c9dc9570e7d0df1f0b8322466e5f46","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/169ff286-526e-4b43-a780-b89ce05992ad/signaling 200 15ms","method":"POST","requestID":"36500fc0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683677,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"e1c9dc9570e7d0df1f0b8322466e5f46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdbf6aae-c972-4964-b817-24ffcf1a5b70","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.8906856} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.453527697Z"}]},"request_id":"ee601b8c-8184-4364-b914-9cc69e3ba867","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.891207} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1c9dc9570e7d0df1f0b8322466e5f46"},"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:35942","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.336507,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","rebac_allow":false,"scope_allow":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":"3652a7d0-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/169ff286-526e-4b43-a780-b89ce05992ad? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1c9dc9570e7d0df1f0b8322466e5f46"} device_1 | {"level":"info","message":"GET /devices/169ff286-526e-4b43-a780-b89ce05992ad? 200 17ms","method":"GET","requestID":"e1c9dc9570e7d0df1f0b8322466e5f46","responseTime":17,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling 200 14ms","method":"POST","requestID":"3652a7d0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7246e0ab-f129-45e4-86ce-8fded94c123d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8b67f735-69ef-4cef-a130-d06eb7e1a126"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3ce31267-244f-416e-913a-2c71094b4bc6"}]},"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/a19a2dc7-98de-4105-a875-08be8220f7d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b17ab791480fd1b51d92bfc70169d8f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.745335,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} 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":"36553fe0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692233,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047431,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMX0.XtJVA3bP4OlKjOj13FVnRJEi1XErqakuu9IJuU9ocZs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b17ab791480fd1b51d92bfc70169d8f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:49.502855872Z"}]},"request_id":"41571952-d7f8-4f78-a5ff-d5477e34b65c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.9148104} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b17ab791480fd1b51d92bfc70169d8f"},"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":"27/Feb/2024:15:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a19a2dc7-98de-4105-a875-08be8220f7d3? 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":"1b17ab791480fd1b51d92bfc70169d8f"} device_1 | {"level":"info","message":"GET /devices/a19a2dc7-98de-4105-a875-08be8220f7d3? 200 16ms","method":"GET","requestID":"1b17ab791480fd1b51d92bfc70169d8f","responseTime":16,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d8aa1192-2c0c-4f6b-b651-29c672928431","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.9218433} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ad07342-ee61-4c54-ab5e-cb15fae7e0d3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.9220173} 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":"36553fe0-d584-11ee-94df-6bdcf2560c9b"},"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/18fe40ea-926f-40e9-9173-8e03d22ae080'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"36553fe0-d584-11ee-94df-6bdcf2560c9b","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:51Z"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56fa8684-0d54-4271-b414-4ff405d2b476","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047431.9919248} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.662986,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","rebac_allow":false,"scope_allow":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":"36621120-d584-11ee-94df-6bdcf2560c9b"},"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/169ff286-526e-4b43-a780-b89ce05992ad/signaling 200 10ms","method":"POST","requestID":"36621120-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df885a50-3f7d-414f-a8d9-0d0579efc875","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.0041425} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158274,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","rebac_allow":false,"scope_allow":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":"36640cf0-d584-11ee-94df-6bdcf2560c9b"},"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/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling 200 10ms","method":"POST","requestID":"36640cf0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"118fc47946f9b4a917bad9e733581929","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/a19a2dc7-98de-4105-a875-08be8220f7d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"118fc47946f9b4a917bad9e733581929","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"118fc47946f9b4a917bad9e733581929"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","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/18fe40ea-926f-40e9-9173-8e03d22ae080' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"85d72e977334f7421eb2564c75dd985f","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/a19a2dc7-98de-4105-a875-08be8220f7d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18fe40ea-926f-40e9-9173-8e03d22ae080","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c555d28f-c9bb-4a80-b3a3-cf3e88ede519","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.1240904} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.524944,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080","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":"36760e50-d584-11ee-94df-6bdcf2560c9b"},"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/18fe40ea-926f-40e9-9173-8e03d22ae080 200 13ms","method":"GET","requestID":"36760e50-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"85d72e977334f7421eb2564c75dd985f","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"85d72e977334f7421eb2564c75dd985f"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46c17928-6d87-418a-a464-f88eefce3593","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.162441} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.198321,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","rebac_allow":false,"scope_allow":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":"367c01c0-d584-11ee-94df-6bdcf2560c9b"},"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/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling 200 13ms","method":"POST","requestID":"367c01c0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb75acb7-5347-4030-8f48-e794fc97b35d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.1779156} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614051,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","rebac_allow":false,"scope_allow":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":"367e4bb0-d584-11ee-94df-6bdcf2560c9b"},"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/169ff286-526e-4b43-a780-b89ce05992ad/signaling 200 14ms","method":"POST","requestID":"367e4bb0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47b08b596d40846c2546603ba9c96250","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/778614e3-03d1-4b71-acb8-989611e363ed"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.196779,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047432,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM"} 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":"47b08b596d40846c2546603ba9c96250"},"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/778614e3-03d1-4b71-acb8-989611e363ed"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/778614e3-03d1-4b71-acb8-989611e363ed HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47b08b596d40846c2546603ba9c96250"} experiment_1 | {"level":"info","message":"GET /experiments/778614e3-03d1-4b71-acb8-989611e363ed 200 20ms","method":"GET","requestID":"47b08b596d40846c2546603ba9c96250","responseTime":20,"status":200,"url":"/experiments/778614e3-03d1-4b71-acb8-989611e363ed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88b055005f6d050ab2a6fd3562cf14b4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/778614e3-03d1-4b71-acb8-989611e363ed"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.261914,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047432,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM"} 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":"88b055005f6d050ab2a6fd3562cf14b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.286629,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047432,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM"} 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":"36986360-d584-11ee-94df-6bdcf2560c9b"},"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/18fe40ea-926f-40e9-9173-8e03d22ae080' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2872c2a8b3d451d62b37c58799e34171","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18fe40ea-926f-40e9-9173-8e03d22ae080': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18fe40ea-926f-40e9-9173-8e03d22ae080","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"4f4797bb-dae2-478d-ae1f-7193a35252b4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.3760276} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"137fdd78551e7a6f8bb2e20237454049","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f82f3ff-1685-479a-8f31-d9e97aadc090","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.3768015} 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/a19a2dc7-98de-4105-a875-08be8220f7d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"}}},"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":"36986360-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"data":{"peerconnection":"18fe40ea-926f-40e9-9173-8e03d22ae080","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/18fe40ea-926f-40e9-9173-8e03d22ae080 204 68ms","method":"DELETE","requestID":"36986360-d584-11ee-94df-6bdcf2560c9b","responseTime":68,"status":204,"url":"/peerconnections/18fe40ea-926f-40e9-9173-8e03d22ae080"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/778614e3-03d1-4b71-acb8-989611e363ed"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa19a2dc7-98de-4105-a875-08be8220f7d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9577b002-d9bf-4b99-bd1a-1888d6840fee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.4442513} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.16318,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a19a2dc7-98de-4105-a875-08be8220f7d3","object_type":"device","rebac_allow":false,"scope_allow":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":"36a6e250-d584-11ee-94df-6bdcf2560c9b"},"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/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling 200 16ms","method":"POST","requestID":"36a6e250-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/a19a2dc7-98de-4105-a875-08be8220f7d3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F778614e3-03d1-4b71-acb8-989611e363ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F778614e3-03d1-4b71-acb8-989611e363ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"72843c74-b48c-4baa-86ee-c4419db4cbe0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.4576066} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f873eb78-8af6-4cc1-b17c-afaf54826e40","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.458108} 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":"88b055005f6d050ab2a6fd3562cf14b4"},"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:35942","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F169ff286-526e-4b43-a780-b89ce05992ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d938025-eb10-43c1-9b9a-17a8390cbdaa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.4652622} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.285976,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/169ff286-526e-4b43-a780-b89ce05992ad","object_type":"device","rebac_allow":false,"scope_allow":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":"36a9c880-d584-11ee-94df-6bdcf2560c9b"},"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/169ff286-526e-4b43-a780-b89ce05992ad/signaling 200 18ms","method":"POST","requestID":"36a9c880-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/169ff286-526e-4b43-a780-b89ce05992ad/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/778614e3-03d1-4b71-acb8-989611e363ed"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/778614e3-03d1-4b71-acb8-989611e363ed HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88b055005f6d050ab2a6fd3562cf14b4"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1877","request_time":"2.471","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2b94dfadafa1aa2822b2a3fb8a3b6fb6"} experiment_1 | {"level":"info","message":"DELETE /experiments/778614e3-03d1-4b71-acb8-989611e363ed 204 210ms","method":"DELETE","requestID":"88b055005f6d050ab2a6fd3562cf14b4","responseTime":210,"status":204,"url":"/experiments/778614e3-03d1-4b71-acb8-989611e363ed"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"2872c2a8b3d451d62b37c58799e34171","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"2872c2a8b3d451d62b37c58799e34171"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79c9443729827e090ac7833e7c6cf2f8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"137fdd78551e7a6f8bb2e20237454049","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"137fdd78551e7a6f8bb2e20237454049"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.941","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"585a97acd5b27b910627d87cddc5c3f9"} 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/169ff286-526e-4b43-a780-b89ce05992ad' closed"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937936,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047432,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM"} 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":"79c9443729827e090ac7833e7c6cf2f8"},"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/a19a2dc7-98de-4105-a875-08be8220f7d3' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f73d7318-667a-43bc-b343-3f317140b478","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.5691178} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79c9443729827e090ac7833e7c6cf2f8"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ce55c73-1dc9-4747-a21c-c88cb3ff6483","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.5754373} 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":"79c9443729827e090ac7833e7c6cf2f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"a4bd1206-64bd-4dcd-9807-1d810ed9e408","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.5883014} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cef14ae-84ff-46be-94b7-e336b94a3712","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.5884142} 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":"79c9443729827e090ac7833e7c6cf2f8"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.588284572Z"}]},"request_id":"d166294e-9593-410c-9c16-f5cf85b7b6b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.5937438} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79c9443729827e090ac7833e7c6cf2f8"},"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 53ms","method":"POST","requestID":"79c9443729827e090ac7833e7c6cf2f8","responseTime":53,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79c9443729827e090ac7833e7c6cf2f8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d080ae2aa8f5139139dc89c4db167751","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.741624,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047432,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzMn0.3MbRoLg4WIfPtRLolA691lre1HY9rHcK-RDx9MpvurM"} 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":"d080ae2aa8f5139139dc89c4db167751"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fae45728-5027-41c7-ae7b-141a513b926f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.6168525} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d080ae2aa8f5139139dc89c4db167751"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5f79e80-3bf7-4557-a367-aeba88665fd1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.6218765} 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":"d080ae2aa8f5139139dc89c4db167751"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"bc5a2d77-e70b-470d-a6d6-8cf9f40a5471","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.6307473} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bfcf1d3-44a0-4991-a0ad-3a83015f580d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.6309824} 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":"d080ae2aa8f5139139dc89c4db167751"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.630731810Z"}]},"request_id":"9346aeae-b309-4f79-aec9-97f33dece6a6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047432.6353595} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d080ae2aa8f5139139dc89c4db167751"},"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 35ms","method":"POST","requestID":"d080ae2aa8f5139139dc89c4db167751","responseTime":35,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:52 +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":"d080ae2aa8f5139139dc89c4db167751"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"776c6639cad2dd7ad1cec7637e027f41","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/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":"776c6639cad2dd7ad1cec7637e027f41"} device_1 | {"level":"info","message":"OPTIONS /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/websocket 200 1ms","method":"OPTIONS","requestID":"776c6639cad2dd7ad1cec7637e027f41","responseTime":1,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/websocket"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ccb4d2b9cda23111ed9c066553a28c13","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"894ea2280ac4c16caad06a54d71721ea","responseTime":8,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/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":"ccb4d2b9cda23111ed9c066553a28c13"} device_1 | {"level":"info","message":"OPTIONS /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/websocket 200 2ms","method":"OPTIONS","requestID":"ccb4d2b9cda23111ed9c066553a28c13","responseTime":2,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"861055d3817104e6e9ca119f123dd904","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.818774,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket 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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"894ea2280ac4c16caad06a54d71721ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323988,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"861055d3817104e6e9ca119f123dd904"},"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":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"894ea2280ac4c16caad06a54d71721ea"} device_1 | {"level":"info","message":"POST /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/websocket 200 37ms","method":"POST","requestID":"894ea2280ac4c16caad06a54d71721ea","responseTime":37,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/websocket 200 41ms","method":"POST","requestID":"861055d3817104e6e9ca119f123dd904","responseTime":41,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"861055d3817104e6e9ca119f123dd904"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06ef543ff6720b56f80f1586fb330e82","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712198,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} 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":"06ef543ff6720b56f80f1586fb330e82"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.588284572Z"}]},"request_id":"d5ca4726-0b22-46a5-b554-2a9a94d5f9bb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.724871} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06ef543ff6720b56f80f1586fb330e82"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50? 200 11ms","method":"GET","requestID":"06ef543ff6720b56f80f1586fb330e82","responseTime":11,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50? 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":"06ef543ff6720b56f80f1586fb330e82"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"68ddbeef5b8c753dfa6aeff5a1b3a002","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923613,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68ddbeef5b8c753dfa6aeff5a1b3a002"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.630731810Z"}]},"request_id":"a94e8faf-f968-438a-b63e-7a40cce4e65b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.7453823} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68ddbeef5b8c753dfa6aeff5a1b3a002"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 200 13ms","method":"GET","requestID":"68ddbeef5b8c753dfa6aeff5a1b3a002","responseTime":13,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 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":"68ddbeef5b8c753dfa6aeff5a1b3a002"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6842f110d5922b44c9c974a97f74a2cf","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:35942","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.715211,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} 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":"6842f110d5922b44c9c974a97f74a2cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"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:35942","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74798,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380f4bf0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330484,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380f7300-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.588284572Z"}]},"request_id":"0d0413da-0675-4d1e-8972-159264a4eac8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.809176} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380f4bf0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.630731810Z"}]},"request_id":"17202c7b-76f7-423d-8ec0-21488421b03e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.8100667} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380f7300-d584-11ee-94df-6bdcf2560c9b"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50? 200 16ms","method":"GET","requestID":"380f4bf0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 200 16ms","method":"GET","requestID":"380f7300-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"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:35942","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221198,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} 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":"38193700-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102762,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} 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":"38198520-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.186067,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9aa60750-0824-4a3a-9fd5-e65a1237507c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.8793697} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","rebac_allow":false,"scope_allow":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":"381a2160-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.588284572Z"}]},"request_id":"4e462f31-5d4b-49b1-93fe-9a1227d34513","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.882949} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.630731810Z"}]},"request_id":"74abc027-611d-4321-a742-ad909b144056","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.8856742} 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":"38193700-d584-11ee-94df-6bdcf2560c9b"},"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":"38198520-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71cf699d-25a8-4cc6-a892-8d2eef895090#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71cf699d-25a8-4cc6-a892-8d2eef895090","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"9b905a57-82e7-417c-bb44-d38640218ed4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.8936899} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13aa3359-514a-447c-a50c-ce1819d199fc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.894681} 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":"6842f110d5922b44c9c974a97f74a2cf"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling 200 27ms","method":"POST","requestID":"381a2160-d584-11ee-94df-6bdcf2560c9b","responseTime":27,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50? 200 35ms","method":"GET","requestID":"38193700-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 200 34ms","method":"GET","requestID":"38198520-d584-11ee-94df-6bdcf2560c9b","responseTime":34,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97b51a45-8be3-4a77-926c-e79de483aa2f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9109724} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.337014,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","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/71cf699d-25a8-4cc6-a892-8d2eef895090","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} 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":"381f5180-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"6842f110d5922b44c9c974a97f74a2cf","responseTime":159,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18cd600d-8e36-4b61-8348-1fdd4ce16e18","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9172122} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.892713,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6842f110d5922b44c9c974a97f74a2cf"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling 200 15ms","method":"POST","requestID":"381f5180-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"381fedc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"579a6acecf421087a252ae488e374030","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling 200 15ms","method":"POST","requestID":"381fedc0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657391,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"579a6acecf421087a252ae488e374030"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bba3c369-ddcf-44b9-86cd-15af2528678e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9294934} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.230916,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","rebac_allow":false,"scope_allow":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":"382285d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.588284572Z"}]},"request_id":"224b372e-0900-49ba-9f35-8cf716e14c5e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9336019} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling 200 9ms","method":"POST","requestID":"382285d0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/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":"579a6acecf421087a252ae488e374030"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"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":"1a06b49e-4c2d-45e1-8005-0983215aab84"},{"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":"befe4a1d-12ed-4d7f-82dc-26dee1484475"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3ab08251-9f6f-4366-8fa6-d66ef353b048"}]},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50"},{"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6"}],"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":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50? 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":"579a6acecf421087a252ae488e374030"} device_1 | {"level":"info","message":"GET /devices/91f6329f-bb46-4782-88d2-9a20dceaaa50? 200 15ms","method":"GET","requestID":"579a6acecf421087a252ae488e374030","responseTime":15,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.02575,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} 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":"38245a90-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed1cd60656e750b46f82340c615bfcd2","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202551,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047434,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNH0.KZOvsVSbiCwEvnuho1Kg53ONwpSL0gruXWOVFPKX5zY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed1cd60656e750b46f82340c615bfcd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"89c2332b-fc10-4ccb-9ea4-8ffbd408f5eb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9549022} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21296f0f-be34-46f9-9e48-5e2577340815","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.955098} 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":"38245a90-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:52.630731810Z"}]},"request_id":"e75c0053-82a7-4f80-8174-7c4ab9d85931","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047434.9561} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed1cd60656e750b46f82340c615bfcd2"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 200 18ms","method":"GET","requestID":"ed1cd60656e750b46f82340c615bfcd2","responseTime":18,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6? 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":"ed1cd60656e750b46f82340c615bfcd2"} 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/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"38245a90-d584-11ee-94df-6bdcf2560c9b","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9b8b3a6-d662-437a-8be3-46a164cfd7b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.0189817} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.522951,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","rebac_allow":false,"scope_allow":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":"38301a60-d584-11ee-94df-6bdcf2560c9b"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling 200 10ms","method":"POST","requestID":"38301a60-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae3f2bf8-5755-4344-b2ff-dae6cf1c8b39","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.0311785} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549863,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","rebac_allow":false,"scope_allow":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":"3831ef20-d584-11ee-94df-6bdcf2560c9b"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling 200 10ms","method":"POST","requestID":"3831ef20-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"20b37c23fd39910836894234199effef","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/91f6329f-bb46-4782-88d2-9a20dceaaa50"},{"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"20b37c23fd39910836894234199effef","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"20b37c23fd39910836894234199effef"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","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/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a1420188c4cafb7b01fdca550da7be1b","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/91f6329f-bb46-4782-88d2-9a20dceaaa50"},{"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ae71377-b5da-4638-aa87-a9b35bbb7b75","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.2624066} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.542009,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","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":"3854e070-d584-11ee-94df-6bdcf2560c9b"},"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/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed 200 14ms","method":"GET","requestID":"3854e070-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"a1420188c4cafb7b01fdca550da7be1b","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1420188c4cafb7b01fdca550da7be1b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fe61903-0ca6-4672-8a55-551c84805780","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.299745} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.698327,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","rebac_allow":false,"scope_allow":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":"385a85c0-d584-11ee-94df-6bdcf2560c9b"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling 200 14ms","method":"POST","requestID":"385a85c0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bc43d0f-18d2-48d9-bd17-1a3d3b57f933","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.3177526} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.22339,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","rebac_allow":false,"scope_allow":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":"385d6bf0-d584-11ee-94df-6bdcf2560c9b"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling 200 15ms","method":"POST","requestID":"385d6bf0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88d6d0ec1e595248ab60a50d31b838a7","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.311316,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047435,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM"} 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":"88d6d0ec1e595248ab60a50d31b838a7"},"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/71cf699d-25a8-4cc6-a892-8d2eef895090"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88d6d0ec1e595248ab60a50d31b838a7"} experiment_1 | {"level":"info","message":"GET /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090 200 18ms","method":"GET","requestID":"88d6d0ec1e595248ab60a50d31b838a7","responseTime":18,"status":200,"url":"/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"788be424d82f8dfedf64cd3acb540680","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.928947,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047435,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"788be424d82f8dfedf64cd3acb540680"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.143121,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047435,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM"} 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":"386b4ea0-d584-11ee-94df-6bdcf2560c9b"},"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/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"bfa07d4a-8940-4671-bb40-5572a5c77a88","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.4299448} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db5cd368-8640-4bec-8600-e14e6ca68615","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.4305756} 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/91f6329f-bb46-4782-88d2-9a20dceaaa50"},{"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1291ebd30abb6436680ee353a3ca3cbf","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6367142e99e282f2668104ecbe5736b","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"386b4ea0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50"},{"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed","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/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed 204 65ms","method":"DELETE","requestID":"386b4ea0-d584-11ee-94df-6bdcf2560c9b","responseTime":65,"status":204,"url":"/peerconnections/8b7c5bc6-f298-40b3-b5b4-0beab3f4b9ed"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f6329f-bb46-4782-88d2-9a20dceaaa50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e1f86d8-2b01-4043-a931-305041c58f44","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.5015337} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.849174,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50","object_type":"device","rebac_allow":false,"scope_allow":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":"38793150-d584-11ee-94df-6bdcf2560c9b"},"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/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling 200 17ms","method":"POST","requestID":"38793150-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71cf699d-25a8-4cc6-a892-8d2eef895090': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F71cf699d-25a8-4cc6-a892-8d2eef895090","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"eee2c520-819b-4c6f-88e1-84adb217129b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.5121033} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35bfa6ab-c882-484d-a7b2-4e7e381f154d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.5123787} 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":"788be424d82f8dfedf64cd3acb540680"},"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:35942","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b6df07c-5e2a-4939-82ee-149e97b7a8b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19b8fce7-2580-438b-9750-8de36f6d4a65","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.5245888} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.25712,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6","object_type":"device","rebac_allow":false,"scope_allow":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":"387cb3c0-d584-11ee-94df-6bdcf2560c9b"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling 200 16ms","method":"POST","requestID":"387cb3c0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/2b6df07c-5e2a-4939-82ee-149e97b7a8b6/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"788be424d82f8dfedf64cd3acb540680"} experiment_1 | {"level":"info","message":"DELETE /experiments/71cf699d-25a8-4cc6-a892-8d2eef895090 204 207ms","method":"DELETE","requestID":"788be424d82f8dfedf64cd3acb540680","responseTime":207,"status":204,"url":"/experiments/71cf699d-25a8-4cc6-a892-8d2eef895090"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"1291ebd30abb6436680ee353a3ca3cbf","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"1291ebd30abb6436680ee353a3ca3cbf"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"c6367142e99e282f2668104ecbe5736b","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6367142e99e282f2668104ecbe5736b"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"889826ac1847599ab7205659726eb92f","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.828811,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047435,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2164","request_time":"0.915","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b253a3fb0bb41564844891f6cea27c00"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2437","request_time":"0.905","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d86d9fa282014d8cce25728641b95ad8"} 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":"889826ac1847599ab7205659726eb92f"},"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/2b6df07c-5e2a-4939-82ee-149e97b7a8b6' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/91f6329f-bb46-4782-88d2-9a20dceaaa50' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ebb452aa-75a2-4571-8f00-3cacdfaa8cbd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.615849} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"889826ac1847599ab7205659726eb92f"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89847dc7-a9ba-4e0b-bac5-2d2936fb1ab5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.621071} 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":"889826ac1847599ab7205659726eb92f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"6e48d3e3-6b22-4887-bd70-21d1ff890a4b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.631022} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbbff1c2-c64e-41ef-b29b-148ef1f95a72","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.6311467} 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":"889826ac1847599ab7205659726eb92f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.631005757Z"}]},"request_id":"cc8e061d-7512-4ac7-9cf0-cfdba73590ff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.635536} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"889826ac1847599ab7205659726eb92f"},"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":"889826ac1847599ab7205659726eb92f","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"889826ac1847599ab7205659726eb92f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24d17131fd92b53ee87ed75ea793700d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.635345,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047435,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzNX0.-VdGDtCDkXX1hvgbbYqxb_dCfdw7EpGdLH29avoP8GM"} 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":"24d17131fd92b53ee87ed75ea793700d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0e6da66c-62e4-4008-87fe-5c54480eb9bf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.661439} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24d17131fd92b53ee87ed75ea793700d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c74a27a6-a221-4a75-8cd2-8ebac8bb4747","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.6657667} 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":"24d17131fd92b53ee87ed75ea793700d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"cf4ee9ce-eb8b-4314-aa34-d7f8b886cdc9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.6765974} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0ec2bcc-dd80-4e69-abdf-f34cd6a67b1b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.6767702} 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":"24d17131fd92b53ee87ed75ea793700d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.676579240Z"}]},"request_id":"0e9f8979-edc5-4dce-993b-022014571e03","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047435.6822937} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24d17131fd92b53ee87ed75ea793700d"},"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 40ms","method":"POST","requestID":"24d17131fd92b53ee87ed75ea793700d","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24d17131fd92b53ee87ed75ea793700d"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a751e760f91e1159e95ec1bafe67983d","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/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":"a751e760f91e1159e95ec1bafe67983d"} device_1 | {"level":"info","message":"OPTIONS /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/websocket 200 2ms","method":"OPTIONS","requestID":"a751e760f91e1159e95ec1bafe67983d","responseTime":2,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a256bf789701fa8e07927ee501d485a3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383339,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a256bf789701fa8e07927ee501d485a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e0504d8e46b200156f589c285b7d0ed","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/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":"9e0504d8e46b200156f589c285b7d0ed"} device_1 | {"level":"info","message":"OPTIONS /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/websocket 200 1ms","method":"OPTIONS","requestID":"9e0504d8e46b200156f589c285b7d0ed","responseTime":1,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a93e4add5ac00d6fbcc4a608c5ffae46","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094105,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a93e4add5ac00d6fbcc4a608c5ffae46"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90/websocket 200 37ms","method":"POST","requestID":"a256bf789701fa8e07927ee501d485a3","responseTime":37,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a256bf789701fa8e07927ee501d485a3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/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":"a93e4add5ac00d6fbcc4a608c5ffae46"} device_1 | {"level":"info","message":"POST /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/websocket 200 24ms","method":"POST","requestID":"a93e4add5ac00d6fbcc4a608c5ffae46","responseTime":24,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5085b4da64756021122a51dbb5fb510f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844088,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"5085b4da64756021122a51dbb5fb510f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.631005757Z"}]},"request_id":"376ef3e3-0b44-4ab4-8861-1ddc193e1762","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.7177904} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5085b4da64756021122a51dbb5fb510f"},"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":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef952230-0389-49e0-8e18-8de4cfd13f01? 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":"5085b4da64756021122a51dbb5fb510f"} device_1 | {"level":"info","message":"GET /devices/ef952230-0389-49e0-8e18-8de4cfd13f01? 200 15ms","method":"GET","requestID":"5085b4da64756021122a51dbb5fb510f","responseTime":15,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"760594b5957d47a8fbc0d3070f4c8997","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6562,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"760594b5957d47a8fbc0d3070f4c8997"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.676579240Z"}]},"request_id":"bba832c5-0c31-4cd6-9c60-837abac25c53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.7369485} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"760594b5957d47a8fbc0d3070f4c8997"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90? 200 11ms","method":"GET","requestID":"760594b5957d47a8fbc0d3070f4c8997","responseTime":11,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"760594b5957d47a8fbc0d3070f4c8997"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4b15990f573628ade80cb6d3f0347398","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.215353,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"4b15990f573628ade80cb6d3f0347398"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"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:35942","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164314,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"39d84c20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262667,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"39d89a40-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.631005757Z"}]},"request_id":"96a22e4e-a337-4033-8584-7cb5f38cba36","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.8081477} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39d84c20-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.676579240Z"}]},"request_id":"ae87bea2-2c84-4734-8412-6c0be8e1c0e2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.809856} 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":"39d89a40-d584-11ee-94df-6bdcf2560c9b"},"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/ef952230-0389-49e0-8e18-8de4cfd13f01? 200 25ms","method":"GET","requestID":"39d84c20-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90? 200 25ms","method":"GET","requestID":"39d89a40-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"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:35942","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.994003,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.515799,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"39e607c0-d584-11ee-94df-6bdcf2560c9b"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"39e655e0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.631005757Z"}]},"request_id":"aa61e1e5-28c2-4dec-94e3-0b3eeda8c4bd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.902475} authorization_1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} 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":"39e607c0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.676579240Z"}]},"request_id":"5eb2c223-539e-473b-b2f8-6e6555b9f6fe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9053464} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0f790ae-e3b2-4b4a-883d-b4389235309a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9058113} 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":"39e655e0-d584-11ee-94df-6bdcf2560c9b"},"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:45342","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.097045,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39e6a400-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F896d1db1-e7e8-421c-9fb9-ea2d0d0b159d#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"c0f8957f-12ab-45a3-82a5-e6c457a0f7ba","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9145002} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"031905c6-9d44-4123-934e-f44b5fdb6128","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9149714} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ef952230-0389-49e0-8e18-8de4cfd13f01? 200 33ms","method":"GET","requestID":"39e607c0-d584-11ee-94df-6bdcf2560c9b","responseTime":33,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01?"} 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":"4b15990f573628ade80cb6d3f0347398"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90? 200 32ms","method":"GET","requestID":"39e655e0-d584-11ee-94df-6bdcf2560c9b","responseTime":32,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling 200 32ms","method":"POST","requestID":"39e6a400-d584-11ee-94df-6bdcf2560c9b","responseTime":32,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"249d6a93-53b4-4465-9b4e-39a1dac4d314","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9330668} experiment_1 | {"data":{"experiment":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.576322,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"4b15990f573628ade80cb6d3f0347398","responseTime":189,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","rebac_allow":false,"scope_allow":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":"39ec7060-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d37784c-0508-4a94-a822-fd2d65e56670","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9358208} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.95366,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} gateway_1 | {"time_local":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b15990f573628ade80cb6d3f0347398"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","rebac_allow":false,"scope_allow":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":"39ece590-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9ecf3b84d60156032b39486bc5e528cb","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling 200 18ms","method":"POST","requestID":"39ec7060-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling 200 16ms","method":"POST","requestID":"39ece590-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.97088,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecf3b84d60156032b39486bc5e528cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.603727,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"030fea9b-2eaf-4653-a6c1-aeb3d609e922","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.953328} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","rebac_allow":false,"scope_allow":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":"39efcbc0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.631005757Z"}]},"request_id":"fe8f02a6-3c1b-48ff-9c0b-35a56ccb7998","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.959567} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling 200 12ms","method":"POST","requestID":"39efcbc0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/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":"9ecf3b84d60156032b39486bc5e528cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"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":"376e1ba1-57f8-44bb-8c44-e3e05cbdd858"},{"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":"89d99d22-08fe-4ac5-bbe4-76489ff8d449"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2eccbce6-a021-4b11-8ba7-6a4fe0478361"}]},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90"},{"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/ef952230-0389-49e0-8e18-8de4cfd13f01"}],"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":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef952230-0389-49e0-8e18-8de4cfd13f01? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ecf3b84d60156032b39486bc5e528cb"} device_1 | {"level":"info","message":"GET /devices/ef952230-0389-49e0-8e18-8de4cfd13f01? 200 22ms","method":"GET","requestID":"9ecf3b84d60156032b39486bc5e528cb","responseTime":22,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.913982,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"39f263d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"346c56fba30ddb61063ffbd0bafaa9d7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762057,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047437,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzN30.EcBjoMLoR0O1p-YFJ6R3AIeXuSIPRNAtlt4mKlh9eec"} 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":"346c56fba30ddb61063ffbd0bafaa9d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"366210fe-4ab1-4f40-a68a-4559e186d66c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.98316} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f46fb0d8-df0f-46fe-9394-87c812a85a52","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.9832947} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:55.676579240Z"}]},"request_id":"38d751fe-c7b1-4345-b6fa-e4c1b05163fd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047437.984341} 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":"39f263d0-d584-11ee-94df-6bdcf2560c9b"},"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":"346c56fba30ddb61063ffbd0bafaa9d7"},"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":"27/Feb/2024:15:23:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90? 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":"346c56fba30ddb61063ffbd0bafaa9d7"} device_1 | {"level":"info","message":"GET /devices/2468d000-1518-4db2-a69d-0eeaf15b5f90? 200 17ms","method":"GET","requestID":"346c56fba30ddb61063ffbd0bafaa9d7","responseTime":17,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90?"} 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/37757c76-ea34-4803-8611-3233d6a0d24a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"39f263d0-d584-11ee-94df-6bdcf2560c9b","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be52d5dc-7ed9-4bc1-b8c1-b5b24acff5e7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.049079} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.130889,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","rebac_allow":false,"scope_allow":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":"39fe71c0-d584-11ee-94df-6bdcf2560c9b"},"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/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling 200 9ms","method":"POST","requestID":"39fe71c0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c819caad-68da-48f5-b064-711364a44e76","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.0590425} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.398892,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","rebac_allow":false,"scope_allow":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":"3a001f70-d584-11ee-94df-6bdcf2560c9b"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling 200 8ms","method":"POST","requestID":"3a001f70-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b7a9a83b5ac15f60fb06ebf7b4e4df4","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/2468d000-1518-4db2-a69d-0eeaf15b5f90"},{"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/ef952230-0389-49e0-8e18-8de4cfd13f01"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"7b7a9a83b5ac15f60fb06ebf7b4e4df4","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b7a9a83b5ac15f60fb06ebf7b4e4df4"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","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/37757c76-ea34-4803-8611-3233d6a0d24a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a99d29ba80019ad02b90b967ff7c5ffc","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/2468d000-1518-4db2-a69d-0eeaf15b5f90"},{"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/ef952230-0389-49e0-8e18-8de4cfd13f01"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37757c76-ea34-4803-8611-3233d6a0d24a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bd85121-b0ac-4503-8857-24ac8e1b1f88","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.2790887} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.101075,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a","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":"3a213c00-d584-11ee-94df-6bdcf2560c9b"},"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/37757c76-ea34-4803-8611-3233d6a0d24a 200 13ms","method":"GET","requestID":"3a213c00-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"a99d29ba80019ad02b90b967ff7c5ffc","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"a99d29ba80019ad02b90b967ff7c5ffc"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a10fed31-f510-48b7-82b5-11eda4cdc094","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.3186111} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.953956,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","rebac_allow":false,"scope_allow":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":"3a275680-d584-11ee-94df-6bdcf2560c9b"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling 200 15ms","method":"POST","requestID":"3a275680-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06604a0a-77f5-4a6b-9a03-54740411f03d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.3374465} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.122956,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","rebac_allow":false,"scope_allow":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":"3a2a15a0-d584-11ee-94df-6bdcf2560c9b"},"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/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling 200 15ms","method":"POST","requestID":"3a2a15a0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab978a79c1983e29be434b244174d855","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.182805,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047438,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg"} 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":"ab978a79c1983e29be434b244174d855"},"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/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab978a79c1983e29be434b244174d855"} experiment_1 | {"level":"info","message":"GET /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d 200 18ms","method":"GET","requestID":"ab978a79c1983e29be434b244174d855","responseTime":18,"status":200,"url":"/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d0f26eeb5db1e434091cfde631456da4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.30708,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047438,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg"} 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":"d0f26eeb5db1e434091cfde631456da4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.182256,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047438,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg"} 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":"3a35d570-d584-11ee-94df-6bdcf2560c9b"},"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/37757c76-ea34-4803-8611-3233d6a0d24a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37757c76-ea34-4803-8611-3233d6a0d24a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37757c76-ea34-4803-8611-3233d6a0d24a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"3be42278-c15e-4329-8c12-b59257cc9aef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.435161} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5671c636-7b24-4833-bbad-37ee53c4f455","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.4356525} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"15f4eac80075967a4b57ed3975b21d6f","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/2468d000-1518-4db2-a69d-0eeaf15b5f90"},{"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/ef952230-0389-49e0-8e18-8de4cfd13f01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"136ed5991772ec6a613e92c65d8eebe4","responseTime":2,"status":200,"url":"/auth"} 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":"3a35d570-d584-11ee-94df-6bdcf2560c9b"},"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":"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/2468d000-1518-4db2-a69d-0eeaf15b5f90"},{"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/ef952230-0389-49e0-8e18-8de4cfd13f01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"37757c76-ea34-4803-8611-3233d6a0d24a","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/37757c76-ea34-4803-8611-3233d6a0d24a 204 55ms","method":"DELETE","requestID":"3a35d570-d584-11ee-94df-6bdcf2560c9b","responseTime":55,"status":204,"url":"/peerconnections/37757c76-ea34-4803-8611-3233d6a0d24a"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2468d000-1518-4db2-a69d-0eeaf15b5f90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b5e70a9-11cf-4784-ba18-161149824a25","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.4885623} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.245243,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90","object_type":"device","rebac_allow":false,"scope_allow":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":"3a416e30-d584-11ee-94df-6bdcf2560c9b"},"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/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling 200 12ms","method":"POST","requestID":"3a416e30-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F896d1db1-e7e8-421c-9fb9-ea2d0d0b159d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F896d1db1-e7e8-421c-9fb9-ea2d0d0b159d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"de43ef43-f790-4e25-90bd-6f9f618c20fe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.498579} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93ef6f16-c449-4f94-9206-0e1ddbd2d010","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.4990528} 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":"d0f26eeb5db1e434091cfde631456da4"},"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:35942","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef952230-0389-49e0-8e18-8de4cfd13f01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6705e5c6-a800-411b-850e-7928d8c75407","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.504272} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.566115,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01","object_type":"device","rebac_allow":false,"scope_allow":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":"3a439110-d584-11ee-94df-6bdcf2560c9b"},"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/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling 200 14ms","method":"POST","requestID":"3a439110-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/ef952230-0389-49e0-8e18-8de4cfd13f01/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0f26eeb5db1e434091cfde631456da4"} experiment_1 | {"level":"info","message":"DELETE /experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d 204 180ms","method":"DELETE","requestID":"d0f26eeb5db1e434091cfde631456da4","responseTime":180,"status":204,"url":"/experiments/896d1db1-e7e8-421c-9fb9-ea2d0d0b159d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"15f4eac80075967a4b57ed3975b21d6f","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"15f4eac80075967a4b57ed3975b21d6f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f5009639312cb3b34b24fb79b08ef26","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"136ed5991772ec6a613e92c65d8eebe4","responseTime":133,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:23: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"136ed5991772ec6a613e92c65d8eebe4"} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2435","request_time":"0.905","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7ed92ea3d0461b07d2c557e2d2a062b2"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.96543,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047438,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg"} 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":"0f5009639312cb3b34b24fb79b08ef26"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2168","request_time":"0.901","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f81cd1fa6dc82cb9d674c49f504af614"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2468d000-1518-4db2-a69d-0eeaf15b5f90' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ef952230-0389-49e0-8e18-8de4cfd13f01' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6b31e10-93e9-4eec-a98b-e07e81587425","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.683488} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f5009639312cb3b34b24fb79b08ef26"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17a0a88a-3b13-4acd-a285-75ab460cee7b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.6904821} 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":"0f5009639312cb3b34b24fb79b08ef26"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"7ac8ef00-3a2d-45c0-82b0-32f38077f6a8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.7225075} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c9f4a17-6ea2-4a68-98c1-d5a997fcc076","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.7229645} authorization_1 | {"level":"info","message":"POST /relations/update 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f5009639312cb3b34b24fb79b08ef26"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":36}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.722428395Z"}]},"request_id":"5943bec9-0ee5-4947-ac5f-3d80cd69fc69","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.7308953} 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":"0f5009639312cb3b34b24fb79b08ef26"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 157ms","method":"POST","requestID":"0f5009639312cb3b34b24fb79b08ef26","responseTime":157,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f5009639312cb3b34b24fb79b08ef26"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9da1b5540d18103c19ab7c0d903d4ffa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.147177,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047438,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOH0.dk_UoosR-3g0xDCK4LJ8RmMGhYOTv3yu96J883LO3lg"} 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":"9da1b5540d18103c19ab7c0d903d4ffa"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"918d2df7-4dd1-4abc-b0c5-0c40e8255086","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.8010128} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9da1b5540d18103c19ab7c0d903d4ffa"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bfd7d80-cd8e-4ae3-92ff-07ac3d7259b9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.808928} 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":"9da1b5540d18103c19ab7c0d903d4ffa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"dccb9a7b-3d16-40c8-94dd-25a7dfce1705","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.8537602} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a7decec-88a2-43b9-8f5f-02456af6bd4e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.8540382} authorization_1 | {"level":"info","message":"POST /relations/update 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9da1b5540d18103c19ab7c0d903d4ffa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":48}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"9f3f450d-e5ee-4db6-9305-7765daed6629","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047438.8614416} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9da1b5540d18103c19ab7c0d903d4ffa"},"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 120ms","method":"POST","requestID":"9da1b5540d18103c19ab7c0d903d4ffa","responseTime":120,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9da1b5540d18103c19ab7c0d903d4ffa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOX0.dOBJw6tXbSFNyzKQjhW981XECGRoaFg-H4lYAz0eEPc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b32a401cbc78625f89495318cf1bd6c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:59Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.631797,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047439,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOX0.dOBJw6tXbSFNyzKQjhW981XECGRoaFg-H4lYAz0eEPc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b32a401cbc78625f89495318cf1bd6c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"8f79c52c-ce3a-4e2d-94e0-9d0688ce9ea7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047439.3690355} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b32a401cbc78625f89495318cf1bd6c"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23ec20da-9e3d-4eb6-a31f-10efe21cba53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047439.3760097} 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":"5b32a401cbc78625f89495318cf1bd6c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"11591777-13d4-4402-b9c1-78cbd3d3d75a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047439.4000323} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b32a401cbc78625f89495318cf1bd6c"},"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/1bd077be-9db5-4d12-becb-6c81d01205eb 200 49ms","method":"PATCH","requestID":"5b32a401cbc78625f89495318cf1bd6c","responseTime":49,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb"} gateway_1 | {"time_local":"27/Feb/2024:15:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1bd077be-9db5-4d12-becb-6c81d01205eb HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5b32a401cbc78625f89495318cf1bd6c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOX0.dOBJw6tXbSFNyzKQjhW981XECGRoaFg-H4lYAz0eEPc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fef914c0a1356eaf8b9e20d902b0fd49","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:23:59Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.529114,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:23:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047439,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQzOX0.dOBJw6tXbSFNyzKQjhW981XECGRoaFg-H4lYAz0eEPc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fef914c0a1356eaf8b9e20d902b0fd49"},"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/1bd077be-9db5-4d12-becb-6c81d01205eb/websocket 200 23ms","method":"POST","requestID":"fef914c0a1356eaf8b9e20d902b0fd49","responseTime":23,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1bd077be-9db5-4d12-becb-6c81d01205eb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fef914c0a1356eaf8b9e20d902b0fd49"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed4b6ca1c46542b9ab1f6f29427e844f","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/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":"ed4b6ca1c46542b9ab1f6f29427e844f"} device_1 | {"level":"info","message":"OPTIONS /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/websocket 200 1ms","method":"OPTIONS","requestID":"ed4b6ca1c46542b9ab1f6f29427e844f","responseTime":1,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"11c71a616a8f57d739806e2bc213fa3b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.41473,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11c71a616a8f57d739806e2bc213fa3b"},"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":"27/Feb/2024:15:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"11c71a616a8f57d739806e2bc213fa3b"} device_1 | {"level":"info","message":"POST /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/websocket 200 33ms","method":"POST","requestID":"11c71a616a8f57d739806e2bc213fa3b","responseTime":33,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"17efc56e4abce229950e9caab8cf7292","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195873,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"17efc56e4abce229950e9caab8cf7292"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.722428395Z"}]},"request_id":"98dfbf76-7746-45a6-84f1-8b0e428950cc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047440.922806} 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":"17efc56e4abce229950e9caab8cf7292"},"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":"27/Feb/2024:15:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec? 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":"17efc56e4abce229950e9caab8cf7292"} device_1 | {"level":"info","message":"GET /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec? 200 24ms","method":"GET","requestID":"17efc56e4abce229950e9caab8cf7292","responseTime":24,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f2187fa1c1f6c76182c40b0f903d2e1c","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292706,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2187fa1c1f6c76182c40b0f903d2e1c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"dcb5fc72-97f9-46b4-a708-c803d17978e4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047440.9572487} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2187fa1c1f6c76182c40b0f903d2e1c"},"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/1bd077be-9db5-4d12-becb-6c81d01205eb? 200 22ms","method":"GET","requestID":"f2187fa1c1f6c76182c40b0f903d2e1c","responseTime":22,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bd077be-9db5-4d12-becb-6c81d01205eb? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2187fa1c1f6c76182c40b0f903d2e1c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d0f37a86676d1736a6de0717ef112df","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:35942","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.192636,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"6d0f37a86676d1736a6de0717ef112df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"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:35942","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152143,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"3bc6fcc0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.418896,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"3bc74ae0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.722428395Z"}]},"request_id":"6385841f-a077-4e5e-9f0b-2ef96fe8d640","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.0501783} 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":"3bc6fcc0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"ff19f03a-cfdd-4a89-9e5d-20f1d2156e6a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.051561} 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":"3bc74ae0-d584-11ee-94df-6bdcf2560c9b"},"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/f3a9c169-6795-48c9-9830-82aa8b6680ec? 200 24ms","method":"GET","requestID":"3bc6fcc0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1bd077be-9db5-4d12-becb-6c81d01205eb? 200 23ms","method":"GET","requestID":"3bc74ae0-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"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/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071347,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bd1f940-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65877,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"3bd22050-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.318908,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92c4d097-9639-4d74-bc31-83596de8936e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1192772} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","rebac_allow":false,"scope_allow":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":"3bd26e70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.722428395Z"}]},"request_id":"3f41f4a5-7a9d-448b-bd39-866d804aaf76","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1227736} 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":"3bd1f940-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"b1d7ed0c-5d4a-4c54-9919-6c4c51ff2227","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1264615} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bd22050-d584-11ee-94df-6bdcf2560c9b"},"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/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling 200 18ms","method":"POST","requestID":"3bd26e70-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F577b2690-28bf-43d1-b305-718c87517719#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F577b2690-28bf-43d1-b305-718c87517719","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"cf620884-2f5c-4f98-acad-5b6ae32fe21e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1326244} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02638cf4-f9c9-4118-85a2-4c492c37a1ef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1331387} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d0f37a86676d1736a6de0717ef112df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} device_1 | {"level":"info","message":"GET /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec? 200 30ms","method":"GET","requestID":"3bd1f940-d584-11ee-94df-6bdcf2560c9b","responseTime":30,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1bd077be-9db5-4d12-becb-6c81d01205eb? 200 30ms","method":"GET","requestID":"3bd22050-d584-11ee-94df-6bdcf2560c9b","responseTime":30,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60ee8695-6bb7-4f89-b57c-b061bf312a42","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1405866} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.655413,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3bd5c9d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling 200 15ms","method":"POST","requestID":"3bd5c9d0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"6d0f37a86676d1736a6de0717ef112df","responseTime":176,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"346aff97-12a5-4437-871f-a749877a22a8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.150142} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.863925,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d0f37a86676d1736a6de0717ef112df"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","rebac_allow":false,"scope_allow":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":"3bd79e90-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MX0.o5vH6FjuQ-n4ewJ6S8i6ltghOsoKj9CrgAqycgx-WmA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78a57d39fc9e8f2350c235e801bf815b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling 200 12ms","method":"POST","requestID":"3bd79e90-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803768,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047441,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MX0.o5vH6FjuQ-n4ewJ6S8i6ltghOsoKj9CrgAqycgx-WmA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78a57d39fc9e8f2350c235e801bf815b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.722428395Z"}]},"request_id":"5318aeab-5efb-4e35-982a-3fdd44087784","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.16498} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a9b9e8e-2035-4d6a-8bf1-3fa6a6bbac81","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.1651156} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78a57d39fc9e8f2350c235e801bf815b"},"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:35942","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549881,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3bd9e880-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec? 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":"78a57d39fc9e8f2350c235e801bf815b"} device_1 | {"level":"info","message":"GET /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec? 200 17ms","method":"GET","requestID":"78a57d39fc9e8f2350c235e801bf815b","responseTime":17,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling 200 15ms","method":"POST","requestID":"3bd9e880-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"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":"54221f1a-53ee-4a42-9e10-203ae43d1019"},{"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":"57e2e187-5a36-4b68-909a-8a6a2715420d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0f4ee4a3-2f01-48b3-ab2f-2a6215911b57"}]},"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/1bd077be-9db5-4d12-becb-6c81d01205eb"},{"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/f3a9c169-6795-48c9-9830-82aa8b6680ec"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MX0.o5vH6FjuQ-n4ewJ6S8i6ltghOsoKj9CrgAqycgx-WmA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5758d47e5e0567c2c7e5e33bc0f7a8af","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.879418,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047440,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MH0.XKCeJTRcZWYhU4xq11VFeE0Fx3nH8-B1aqxry27W4U4"} 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":"3bdcceb0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799843,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047441,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0MX0.o5vH6FjuQ-n4ewJ6S8i6ltghOsoKj9CrgAqycgx-WmA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5758d47e5e0567c2c7e5e33bc0f7a8af"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:23:58.853734160Z"}]},"request_id":"6565c384-5fec-41df-9ea6-746e07adf4e7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.201243} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5758d47e5e0567c2c7e5e33bc0f7a8af"},"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":"27/Feb/2024:15:24:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bd077be-9db5-4d12-becb-6c81d01205eb? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5758d47e5e0567c2c7e5e33bc0f7a8af"} device_1 | {"level":"info","message":"GET /devices/1bd077be-9db5-4d12-becb-6c81d01205eb? 200 17ms","method":"GET","requestID":"5758d47e5e0567c2c7e5e33bc0f7a8af","responseTime":17,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f3084346-29e3-4da5-9a10-31ba61d8a380","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.2050009} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"511d8a96-9b53-4c9d-8e0b-74605b239aa5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.2052226} 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":"3bdcceb0-d584-11ee-94df-6bdcf2560c9b"},"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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580'"} 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 58ms","method":"POST","requestID":"3bdcceb0-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"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/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc27fc81-9660-4d0c-9140-cd2b93303946","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.2734854} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927755,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","rebac_allow":false,"scope_allow":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":"3bea6340-d584-11ee-94df-6bdcf2560c9b"},"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/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling 200 10ms","method":"POST","requestID":"3bea6340-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"763c64ea-33b0-4cc9-a852-2b7aab3eced7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047441.2860255} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.414055,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3bec5f10-d584-11ee-94df-6bdcf2560c9b"},"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/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling 200 10ms","method":"POST","requestID":"3bec5f10-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4cb6a0e078d689956d2979be34e6ba1","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/1bd077be-9db5-4d12-becb-6c81d01205eb"},{"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/f3a9c169-6795-48c9-9830-82aa8b6680ec"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"d4cb6a0e078d689956d2979be34e6ba1","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4cb6a0e078d689956d2979be34e6ba1"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"34f79193037d8ad6ea0f0cd09aa7cd8b","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/1bd077be-9db5-4d12-becb-6c81d01205eb"},{"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/f3a9c169-6795-48c9-9830-82aa8b6680ec"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6d05c57-4a2a-4f88-ad47-1f1c9e2af580","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b80abc51-fef0-48d5-9a9e-b4d7b3356467","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.379668} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.909557,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","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":"3c92d840-d584-11ee-94df-6bdcf2560c9b"},"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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580 200 14ms","method":"GET","requestID":"3c92d840-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"34f79193037d8ad6ea0f0cd09aa7cd8b","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"34f79193037d8ad6ea0f0cd09aa7cd8b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"221f9429-e652-45a4-b7f0-5e1878a08b09","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.4192343} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.889859,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3c98cbb0-d584-11ee-94df-6bdcf2560c9b"},"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/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling 200 17ms","method":"POST","requestID":"3c98cbb0-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9749db4b-f7a7-4656-80b7-1d61b2fc4f21","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.4393635} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.239824,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","rebac_allow":false,"scope_allow":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":"3c9c0000-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2b04da33dd0dc36dd95fb9fd057bd4cb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/577b2690-28bf-43d1-b305-718c87517719"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling 200 18ms","method":"POST","requestID":"3c9c0000-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.111835,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047442,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY"} 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":"2b04da33dd0dc36dd95fb9fd057bd4cb"},"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/577b2690-28bf-43d1-b305-718c87517719"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/577b2690-28bf-43d1-b305-718c87517719 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b04da33dd0dc36dd95fb9fd057bd4cb"} experiment_1 | {"level":"info","message":"GET /experiments/577b2690-28bf-43d1-b305-718c87517719 200 18ms","method":"GET","requestID":"2b04da33dd0dc36dd95fb9fd057bd4cb","responseTime":18,"status":200,"url":"/experiments/577b2690-28bf-43d1-b305-718c87517719"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d36b9f6484414aba6d5335b5096b4b06","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/577b2690-28bf-43d1-b305-718c87517719"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.715294,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047442,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY"} 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":"d36b9f6484414aba6d5335b5096b4b06"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.275992,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047442,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY"} 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":"3ca500b0-d584-11ee-94df-6bdcf2560c9b"},"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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6d05c57-4a2a-4f88-ad47-1f1c9e2af580': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6d05c57-4a2a-4f88-ad47-1f1c9e2af580","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"e4f68faf-c860-47c7-9d6f-7cb5579e5459","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.513764} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a6aba86710c3493a297f0c7a3fb74137","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb"},{"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/f3a9c169-6795-48c9-9830-82aa8b6680ec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c7ec8b4f051d850c216c1ecb7f0813bc","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3b21517-d1db-47cd-b906-2c4123340049","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.514316} 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":"3ca500b0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb"},{"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/f3a9c169-6795-48c9-9830-82aa8b6680ec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"f6d05c57-4a2a-4f88-ad47-1f1c9e2af580","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/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580 204 53ms","method":"DELETE","requestID":"3ca500b0-d584-11ee-94df-6bdcf2560c9b","responseTime":53,"status":204,"url":"/peerconnections/f6d05c57-4a2a-4f88-ad47-1f1c9e2af580"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/577b2690-28bf-43d1-b305-718c87517719"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bd077be-9db5-4d12-becb-6c81d01205eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd2ae854-5a1a-4561-9aa4-a70c83a9cb89","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.5749376} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.636914,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3cb0e790-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling 200 16ms","method":"POST","requestID":"3cb0e790-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/1bd077be-9db5-4d12-becb-6c81d01205eb/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F577b2690-28bf-43d1-b305-718c87517719': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F577b2690-28bf-43d1-b305-718c87517719","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"c0d9b505-1010-4a0b-be35-0855e959e408","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.5926154} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc3da25b-c240-4660-a72c-3b1ceffa65f3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.5944128} 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":"d36b9f6484414aba6d5335b5096b4b06"},"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:35942","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3a9c169-6795-48c9-9830-82aa8b6680ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8282f2b3-7b5b-4724-84b0-ba9e1aa6ae41","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.6011608} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.877056,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cb49110-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling 200 19ms","method":"POST","requestID":"3cb49110-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/f3a9c169-6795-48c9-9830-82aa8b6680ec/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/577b2690-28bf-43d1-b305-718c87517719"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/577b2690-28bf-43d1-b305-718c87517719 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d36b9f6484414aba6d5335b5096b4b06"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2435","request_time":"3.221","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"34034e897077d674e436311b309bdc98"} experiment_1 | {"level":"info","message":"DELETE /experiments/577b2690-28bf-43d1-b305-718c87517719 204 185ms","method":"DELETE","requestID":"d36b9f6484414aba6d5335b5096b4b06","responseTime":185,"status":204,"url":"/experiments/577b2690-28bf-43d1-b305-718c87517719"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"a6aba86710c3493a297f0c7a3fb74137","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6aba86710c3493a297f0c7a3fb74137"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"c7ec8b4f051d850c216c1ecb7f0813bc","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"c7ec8b4f051d850c216c1ecb7f0813bc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cd12725e423ceb978723535b797b30b2","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"1.784","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"372cf8271117afa6fd73ac759f6cebf3"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.193731,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047442,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1bd077be-9db5-4d12-becb-6c81d01205eb' closed"} 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":"cd12725e423ceb978723535b797b30b2"},"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/f3a9c169-6795-48c9-9830-82aa8b6680ec' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf3d4307-b425-4307-8dc8-605cc1a77bff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.6931229} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd12725e423ceb978723535b797b30b2"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"939a0c52-b18e-40eb-a0e1-ddba48a82591","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.6996276} 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":"cd12725e423ceb978723535b797b30b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"05a36bb0-fb39-4b49-b49e-43d5e6664fb4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.711069} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6016e8cd-83de-4c5f-acc0-e34f794d5675","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7113054} 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":"cd12725e423ceb978723535b797b30b2"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.711049213Z"}]},"request_id":"40c3e6a2-b658-4479-82c5-d685bee57da6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7162306} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd12725e423ceb978723535b797b30b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"cd12725e423ceb978723535b797b30b2","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd12725e423ceb978723535b797b30b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6776a5f7f79e182c0eef94c97ab1b687","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.662165,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047442,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Mn0.GeY-EHoV0HO4KW1gCUBJYYVZSzbqMmjkFLjxrlMvxZY"} 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":"6776a5f7f79e182c0eef94c97ab1b687"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70d170e7-6a01-417f-9c54-05870b02816e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7392917} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6776a5f7f79e182c0eef94c97ab1b687"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8fb0812-af47-4c2a-8266-6efadd7d1eb3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7439363} 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":"6776a5f7f79e182c0eef94c97ab1b687"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"5d93a747-1fef-4215-9009-df46c8cde158","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7519214} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69cb6eab-4e4a-442a-bb25-062f5566f3da","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7521756} 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":"6776a5f7f79e182c0eef94c97ab1b687"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"dac26276-8eb5-4bd7-a48b-37faebfe739d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047442.7565517} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6776a5f7f79e182c0eef94c97ab1b687"},"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 35ms","method":"POST","requestID":"6776a5f7f79e182c0eef94c97ab1b687","responseTime":35,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6776a5f7f79e182c0eef94c97ab1b687"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0M30.kdh4NQEB-RsOyxZJoRvdaEvm9B1eIlaZ3AIzurWqZfQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe127aa1ba520bf41766fd2953d405e9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741179,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047443,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0M30.kdh4NQEB-RsOyxZJoRvdaEvm9B1eIlaZ3AIzurWqZfQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe127aa1ba520bf41766fd2953d405e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"67e1e071-dcab-4119-a039-ca7ef98e64b2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047443.2464879} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe127aa1ba520bf41766fd2953d405e9"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0d08210-7d70-4f18-abd9-fe503f02d86e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047443.2534223} 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":"fe127aa1ba520bf41766fd2953d405e9"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"203094a4-1aca-4a2d-9917-616fd3ff1ac6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047443.2746902} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe127aa1ba520bf41766fd2953d405e9"},"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":"27/Feb/2024:15:24:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b3875224-dca1-40ad-a431-4c6124c0c775 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fe127aa1ba520bf41766fd2953d405e9"} device_1 | {"level":"info","message":"PATCH /devices/b3875224-dca1-40ad-a431-4c6124c0c775 200 44ms","method":"PATCH","requestID":"fe127aa1ba520bf41766fd2953d405e9","responseTime":44,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0M30.kdh4NQEB-RsOyxZJoRvdaEvm9B1eIlaZ3AIzurWqZfQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"18929badcadef365c8f1ef44c89a687a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130015,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047443,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0M30.kdh4NQEB-RsOyxZJoRvdaEvm9B1eIlaZ3AIzurWqZfQ"} 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":"18929badcadef365c8f1ef44c89a687a"},"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":"27/Feb/2024:15:24:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b3875224-dca1-40ad-a431-4c6124c0c775/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"18929badcadef365c8f1ef44c89a687a"} device_1 | {"level":"info","message":"POST /devices/b3875224-dca1-40ad-a431-4c6124c0c775/websocket 200 22ms","method":"POST","requestID":"18929badcadef365c8f1ef44c89a687a","responseTime":22,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d40e20a8bb510c9f469ec403c827bbf5","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/89570d11-a0cc-417c-9439-31293fabcf52/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":"d40e20a8bb510c9f469ec403c827bbf5"} device_1 | {"level":"info","message":"OPTIONS /devices/89570d11-a0cc-417c-9439-31293fabcf52/websocket 200 1ms","method":"OPTIONS","requestID":"d40e20a8bb510c9f469ec403c827bbf5","responseTime":1,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8616f464495ecafa05cfb6f8aeebdd86","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195266,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8616f464495ecafa05cfb6f8aeebdd86"},"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":"27/Feb/2024:15:24:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/89570d11-a0cc-417c-9439-31293fabcf52/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8616f464495ecafa05cfb6f8aeebdd86"} device_1 | {"level":"info","message":"POST /devices/89570d11-a0cc-417c-9439-31293fabcf52/websocket 200 36ms","method":"POST","requestID":"8616f464495ecafa05cfb6f8aeebdd86","responseTime":36,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"915969dd29c7bbc55dca201eea8212d8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016617,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"915969dd29c7bbc55dca201eea8212d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.711049213Z"}]},"request_id":"61f462e3-fe1a-4bee-a883-53cfb4e5f332","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047444.841271} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"915969dd29c7bbc55dca201eea8212d8"},"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/89570d11-a0cc-417c-9439-31293fabcf52? 200 15ms","method":"GET","requestID":"915969dd29c7bbc55dca201eea8212d8","responseTime":15,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89570d11-a0cc-417c-9439-31293fabcf52? 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":"915969dd29c7bbc55dca201eea8212d8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"050d8f973b87b034604b353aa1d9ae27","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.393798,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"050d8f973b87b034604b353aa1d9ae27"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"678bcaca-3e4b-4057-b88d-f177a9eda837","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047444.8683102} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"050d8f973b87b034604b353aa1d9ae27"},"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":"27/Feb/2024:15:24:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"050d8f973b87b034604b353aa1d9ae27"} device_1 | {"level":"info","message":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? 200 19ms","method":"GET","requestID":"050d8f973b87b034604b353aa1d9ae27","responseTime":19,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4297d07d0298c0e350b6409edb21705","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:35942","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.177806,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} 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":"d4297d07d0298c0e350b6409edb21705"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"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:35942","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281965,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e1c3760-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.188262,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} 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":"3e1c8580-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.711049213Z"}]},"request_id":"db3c03e9-3c16-4f6a-a47c-1ecd1699b9a0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047444.9633048} 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":"3e1c3760-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"952fec8c-2044-4fb5-b827-ae250b414771","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047444.9649072} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e1c8580-d584-11ee-94df-6bdcf2560c9b"},"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/89570d11-a0cc-417c-9439-31293fabcf52? 200 24ms","method":"GET","requestID":"3e1c3760-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? 200 23ms","method":"GET","requestID":"3e1c8580-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"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:35942","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.264462,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2a6830-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922147,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} 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":"3e2a8f40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.65379,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7136a685-5587-4776-bb07-1dc0436d6d0d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0553854} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","rebac_allow":false,"scope_allow":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":"3e2add60-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.711049213Z"}]},"request_id":"22fd4f06-39fe-47a2-a25d-89486c62feeb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0593166} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"316bb875-4884-40d5-b87d-44dfeb0f3979","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0611405} 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":"3e2a6830-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2a8f40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"07c0f2d5-34f2-4cd0-a1f0-e641e0143db4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0687985} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1811d290-4a6c-4030-8ca4-b6f366169e27","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0689538} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling 200 25ms","method":"POST","requestID":"3e2add60-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling"} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4297d07d0298c0e350b6409edb21705"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/89570d11-a0cc-417c-9439-31293fabcf52? 200 28ms","method":"GET","requestID":"3e2a6830-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? 200 28ms","method":"GET","requestID":"3e2a8f40-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"545a9608-a985-47cf-bdff-777310891499","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0795634} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.383052,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"d4297d07d0298c0e350b6409edb21705","responseTime":196,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","rebac_allow":false,"scope_allow":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":"3e2f4a30-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abc1f2f5-eeff-47bb-b194-d9bec3fa0e38","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0807428} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.453854,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4297d07d0298c0e350b6409edb21705"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","rebac_allow":false,"scope_allow":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":"3e2f7140-d584-11ee-94df-6bdcf2560c9b"},"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/b3875224-dca1-40ad-a431-4c6124c0c775/signaling 200 13ms","method":"POST","requestID":"3e2f4a30-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NX0.83q1LWXfUrkpfqIwy_XBXn32-eZx9-uJg5z80OeAfQM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8a486470bd879a7a1e5768334416c770","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling 200 14ms","method":"POST","requestID":"3e2f7140-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246148,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047445,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NX0.83q1LWXfUrkpfqIwy_XBXn32-eZx9-uJg5z80OeAfQM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a486470bd879a7a1e5768334416c770"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da1f996c-4642-4a80-946c-ef8a1523483b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.0964973} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377147,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","rebac_allow":false,"scope_allow":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":"3e31e240-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.711049213Z"}]},"request_id":"b8ab0a89-eb72-4516-894a-e19bf936f71b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.1002033} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a486470bd879a7a1e5768334416c770"},"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/b3875224-dca1-40ad-a431-4c6124c0c775/signaling 200 13ms","method":"POST","requestID":"3e31e240-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"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":"c66cc84f-9048-4d09-bb18-c2de16e2f4c3"},{"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":"2e644afd-6c77-4a14-aa6d-641ce7816bb9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c6d1b20b-99cf-4aff-bdf5-0231d9404cf1"}]},"level":"info","message":"Built pairwise service configurations"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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/b3875224-dca1-40ad-a431-4c6124c0c775"},{"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/89570d11-a0cc-417c-9439-31293fabcf52"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway_1 | {"time_local":"27/Feb/2024:15:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89570d11-a0cc-417c-9439-31293fabcf52? 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":"8a486470bd879a7a1e5768334416c770"} device_1 | {"level":"info","message":"GET /devices/89570d11-a0cc-417c-9439-31293fabcf52? 200 17ms","method":"GET","requestID":"8a486470bd879a7a1e5768334416c770","responseTime":17,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NX0.83q1LWXfUrkpfqIwy_XBXn32-eZx9-uJg5z80OeAfQM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd4a85881cbaff557d761026b4cc2df1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.166749,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047444,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NH0.XC5HsSfLr7uo4-2s88XzSUdObfu-1rkRZgkxqRAOJzo"} 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":"3e345340-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773952,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047445,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0NX0.83q1LWXfUrkpfqIwy_XBXn32-eZx9-uJg5z80OeAfQM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd4a85881cbaff557d761026b4cc2df1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:02.751888980Z"}]},"request_id":"d6f8190c-de5c-4978-bfbc-480b78e75a80","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.1217296} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd4a85881cbaff557d761026b4cc2df1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"bb25fbd6-0587-4a9e-95e7-a395d84dec5a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.123446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ebe44b7-1e21-4010-a492-ea00fb5923df","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.1241107} 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":"3e345340-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd4a85881cbaff557d761026b4cc2df1"} device_1 | {"level":"info","message":"GET /devices/b3875224-dca1-40ad-a431-4c6124c0c775? 200 16ms","method":"GET","requestID":"bd4a85881cbaff557d761026b4cc2df1","responseTime":16,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775?"} 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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"3e345340-d584-11ee-94df-6bdcf2560c9b","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b225562-fd42-4de6-b0c4-0c2fd48bf0ad","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.1992784} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.677651,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","rebac_allow":false,"scope_allow":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":"3e4172a0-d584-11ee-94df-6bdcf2560c9b"},"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/89570d11-a0cc-417c-9439-31293fabcf52/signaling 200 9ms","method":"POST","requestID":"3e4172a0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50d783f8-5a09-4c40-9ed6-ad205afafdea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047445.2102509} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.38059,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","rebac_allow":false,"scope_allow":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":"3e434760-d584-11ee-94df-6bdcf2560c9b"},"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/b3875224-dca1-40ad-a431-4c6124c0c775/signaling 200 8ms","method":"POST","requestID":"3e434760-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/signaling"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"82ad7d5ea4801994d9eeb458cd3ebf35","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/b3875224-dca1-40ad-a431-4c6124c0c775"},{"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/89570d11-a0cc-417c-9439-31293fabcf52"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"82ad7d5ea4801994d9eeb458cd3ebf35","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"82ad7d5ea4801994d9eeb458cd3ebf35"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cee290f45b3b727524d34e2b31567e03","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/b3875224-dca1-40ad-a431-4c6124c0c775"},{"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/89570d11-a0cc-417c-9439-31293fabcf52"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7d04df3-70e9-4331-bb0a-e81cc5bb9ae3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.280112} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.833707,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","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":"3ee61710-d584-11ee-94df-6bdcf2560c9b"},"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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9 200 15ms","method":"GET","requestID":"3ee61710-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"cee290f45b3b727524d34e2b31567e03","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"cee290f45b3b727524d34e2b31567e03"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4023ae4-515c-4225-9aed-cefd5f67fcd5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.322877} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.868181,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","rebac_allow":false,"scope_allow":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":"3eec7fb0-d584-11ee-94df-6bdcf2560c9b"},"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/b3875224-dca1-40ad-a431-4c6124c0c775/signaling 200 16ms","method":"POST","requestID":"3eec7fb0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83eb0090-8298-492b-abc8-2629374d1032","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.3413153} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.325487,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","rebac_allow":false,"scope_allow":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":"3eef8cf0-d584-11ee-94df-6bdcf2560c9b"},"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/89570d11-a0cc-417c-9439-31293fabcf52/signaling 200 15ms","method":"POST","requestID":"3eef8cf0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f49929713e46399a672509f30496dda","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.244684,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047446,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY"} 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":"8f49929713e46399a672509f30496dda"},"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/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9 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":"8f49929713e46399a672509f30496dda"} experiment_1 | {"level":"info","message":"GET /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9 200 17ms","method":"GET","requestID":"8f49929713e46399a672509f30496dda","responseTime":17,"status":200,"url":"/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0076269df5a76a0bd5be3483afec960f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.231443,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047446,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY"} 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":"0076269df5a76a0bd5be3483afec960f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.350193,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047446,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY"} 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":"3ef902d0-d584-11ee-94df-6bdcf2560c9b"},"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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"947820fb0c60ccc04d9f34bb52ffb90e","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"305fb575-f4c7-42a5-99f2-e79864b0efc3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.4262905} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"278c5317b612da5a0fb0082ba2e3d29d","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":"closed","url":"http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775"},{"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/89570d11-a0cc-417c-9439-31293fabcf52"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"}}},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"859c17b5-7a10-4b93-860e-38cee4fb828d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.4267788} 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/b3875224-dca1-40ad-a431-4c6124c0c775"},{"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/89570d11-a0cc-417c-9439-31293fabcf52"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ef902d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"data":{"peerconnection":"13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9","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/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9 204 65ms","method":"DELETE","requestID":"3ef902d0-d584-11ee-94df-6bdcf2560c9b","responseTime":65,"status":204,"url":"/peerconnections/13bffa77-ea3d-43a4-9a36-e0fdcc3f1cf9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3875224-dca1-40ad-a431-4c6124c0c775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4c3dc7d-83f8-45c0-8ea8-c449b34e8619","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.4929025} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.373331,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3875224-dca1-40ad-a431-4c6124c0c775","object_type":"device","rebac_allow":false,"scope_allow":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":"3f067050-d584-11ee-94df-6bdcf2560c9b"},"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/b3875224-dca1-40ad-a431-4c6124c0c775/signaling 200 15ms","method":"POST","requestID":"3f067050-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/b3875224-dca1-40ad-a431-4c6124c0c775/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"7b876cf8-8719-41ad-bd98-703bbd670cd8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.5021708} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d438ae2-ebdc-4140-9f06-5decb78eec55","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.5024126} 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":"0076269df5a76a0bd5be3483afec960f"},"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:35942","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89570d11-a0cc-417c-9439-31293fabcf52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa4abf33-7e3d-4722-b349-190414d0cfdc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.5111413} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.60083,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89570d11-a0cc-417c-9439-31293fabcf52","object_type":"device","rebac_allow":false,"scope_allow":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":"3f090860-d584-11ee-94df-6bdcf2560c9b"},"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/89570d11-a0cc-417c-9439-31293fabcf52/signaling 200 17ms","method":"POST","requestID":"3f090860-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/89570d11-a0cc-417c-9439-31293fabcf52/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9 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":"0076269df5a76a0bd5be3483afec960f"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2435","request_time":"3.254","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"49b304b4c63a3666de12efb6738ed74c"} experiment_1 | {"level":"info","message":"DELETE /experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9 204 186ms","method":"DELETE","requestID":"0076269df5a76a0bd5be3483afec960f","responseTime":186,"status":204,"url":"/experiments/ca161ba2-52e8-4da4-b1a5-8a7eb3cb28d9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"947820fb0c60ccc04d9f34bb52ffb90e","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"947820fb0c60ccc04d9f34bb52ffb90e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"278c5317b612da5a0fb0082ba2e3d29d","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"278c5317b612da5a0fb0082ba2e3d29d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"218315ee6d6b2d77f37609ff8e04120b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"1.768","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"03a9f1f2f61c2b61e4947ea30457505a"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.843391,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047446,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY"} 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":"218315ee6d6b2d77f37609ff8e04120b"},"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/b3875224-dca1-40ad-a431-4c6124c0c775' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab59ff96-e94d-4310-a0fb-d6fc1c762776","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.5905454} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"218315ee6d6b2d77f37609ff8e04120b"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f285a37-e915-4c2b-b500-6f3c9ae9f206","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.5956705} 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":"218315ee6d6b2d77f37609ff8e04120b"},"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/89570d11-a0cc-417c-9439-31293fabcf52' closed"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"cbd970f2-a253-4f75-80c2-ac1017203707","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.60643} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5671ad8-e5f0-47dd-bb3d-b3665b0ebbf8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.6066089} 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":"218315ee6d6b2d77f37609ff8e04120b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"f69ce637-40d2-4db8-9b13-68a96b3c0266","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.61136} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"218315ee6d6b2d77f37609ff8e04120b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"218315ee6d6b2d77f37609ff8e04120b","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +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":"218315ee6d6b2d77f37609ff8e04120b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16c6369684c91941775154b6f3c08bd4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.788176,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047446,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0Nn0.C3ljmJeYKDWMUIvsGydRt-iyvR4dymBfObHy3MRCoQY"} 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":"16c6369684c91941775154b6f3c08bd4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50ff48e2-691e-4cb8-a437-cbe2f963bf31","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.6357114} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16c6369684c91941775154b6f3c08bd4"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21e2da24-20fa-4132-b458-11bcc1000093","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.640594} 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":"16c6369684c91941775154b6f3c08bd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"134865bf-1216-43fc-ac29-da39e5571457","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.6499186} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42210c06-dab5-40aa-bac0-2ba3e14592a0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.650172} 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":"16c6369684c91941775154b6f3c08bd4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.649884648Z"}]},"request_id":"426751f9-baf9-47bc-a9f4-31768da33144","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047446.6543252} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16c6369684c91941775154b6f3c08bd4"},"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":"16c6369684c91941775154b6f3c08bd4","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:06 +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":"16c6369684c91941775154b6f3c08bd4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0N30.iO5iN5kSipPvVOVWQv7j9sxrckunOunD0Sy2Szpj0us","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"46fe032e43dd38280a13f25fc4195b8c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726331,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047447,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0N30.iO5iN5kSipPvVOVWQv7j9sxrckunOunD0Sy2Szpj0us"} 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":"46fe032e43dd38280a13f25fc4195b8c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"95e06f1d-9ba9-402c-8c20-f9e6c8e4deeb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047447.1405978} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46fe032e43dd38280a13f25fc4195b8c"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fefeeeee-63c4-4e41-abae-9736020f46e1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047447.1460085} 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":"46fe032e43dd38280a13f25fc4195b8c"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"c985e07e-b25b-4c37-a20a-b0c1d3d4c16e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047447.164719} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46fe032e43dd38280a13f25fc4195b8c"},"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":"27/Feb/2024:15:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"46fe032e43dd38280a13f25fc4195b8c"} device_1 | {"level":"info","message":"PATCH /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1 200 38ms","method":"PATCH","requestID":"46fe032e43dd38280a13f25fc4195b8c","responseTime":38,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0N30.iO5iN5kSipPvVOVWQv7j9sxrckunOunD0Sy2Szpj0us","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"70b8af543d969836f5ac5a78c73fcc50","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114688,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047447,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0N30.iO5iN5kSipPvVOVWQv7j9sxrckunOunD0Sy2Szpj0us"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70b8af543d969836f5ac5a78c73fcc50"},"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":"27/Feb/2024:15:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"70b8af543d969836f5ac5a78c73fcc50"} device_1 | {"level":"info","message":"POST /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/websocket 200 22ms","method":"POST","requestID":"70b8af543d969836f5ac5a78c73fcc50","responseTime":22,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f1732c7ebbeb558171e04afc14b5342","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/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":"3f1732c7ebbeb558171e04afc14b5342"} device_1 | {"level":"info","message":"OPTIONS /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/websocket 200 2ms","method":"OPTIONS","requestID":"3f1732c7ebbeb558171e04afc14b5342","responseTime":2,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c21f712e13457f6454ad5e4d804ea762","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.476513,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"c21f712e13457f6454ad5e4d804ea762"},"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":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c21f712e13457f6454ad5e4d804ea762"} device_1 | {"level":"info","message":"POST /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/websocket 200 38ms","method":"POST","requestID":"c21f712e13457f6454ad5e4d804ea762","responseTime":38,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"471d13f9d23dc8dfe18210c971a382d8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.387368,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"471d13f9d23dc8dfe18210c971a382d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"e08019bf-1b68-4b3f-ad69-78c89689e45d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.7243493} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"471d13f9d23dc8dfe18210c971a382d8"},"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? 200 20ms","method":"GET","requestID":"471d13f9d23dc8dfe18210c971a382d8","responseTime":20,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"471d13f9d23dc8dfe18210c971a382d8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5fa634ecebdec3779df8ea6e91e4a4c1","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357231,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa634ecebdec3779df8ea6e91e4a4c1"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.649884648Z"}]},"request_id":"852cab9a-f5cc-40cd-b4a4-a69690bd6724","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.7535696} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa634ecebdec3779df8ea6e91e4a4c1"},"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee? 200 19ms","method":"GET","requestID":"5fa634ecebdec3779df8ea6e91e4a4c1","responseTime":19,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee? 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":"5fa634ecebdec3779df8ea6e91e4a4c1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4480de780f860dff57bef0733500525","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:35942","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.221189,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"e4480de780f860dff57bef0733500525"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"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:35942","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616787,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"406ae250-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618719,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"406b3070-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"1a9b0a98-5c0b-43fb-8bb8-d620319efe2d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.829876} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"406ae250-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.649884648Z"}]},"request_id":"27a5e032-c2ac-40e7-badf-fa1ff777bdb1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.8307188} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"406b3070-d584-11ee-94df-6bdcf2560c9b"},"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? 200 17ms","method":"GET","requestID":"406ae250-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee? 200 16ms","method":"GET","requestID":"406b3070-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"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/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808509,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4076a220-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894883,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"4076f040-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"1ea194ff-1e22-4bfb-968c-b3b259b60adb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9130867} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.649884648Z"}]},"request_id":"57fc707f-5e8d-4022-bbde-f906ff68bca3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9179099} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13d38f9d-5123-4e47-a035-bafa6a160508","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9195974} authorization_1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4076a220-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0b370f9e-32df-4de9-9ffc-0f815d51f7f7#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0b370f9e-32df-4de9-9ffc-0f815d51f7f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"6a56bfa3-8e23-4492-aed9-55ef5ed0e3ef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.920741} authorization_1 | {"client_addr":"127.0.0.1:48152","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48152","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296189,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} 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":"4076f040-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","rebac_allow":false,"scope_allow":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":"40773e60-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9af0767b-61df-44ec-ab4c-21b89d2f7d86","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9258864} 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":"e4480de780f860dff57bef0733500525"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee? 200 28ms","method":"GET","requestID":"4076f040-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? 200 30ms","method":"GET","requestID":"4076a220-d584-11ee-94df-6bdcf2560c9b","responseTime":30,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling 200 28ms","method":"POST","requestID":"40773e60-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"e4480de780f860dff57bef0733500525","responseTime":169,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4480de780f860dff57bef0733500525"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0665e44e-1470-4645-b9bb-df8cc2ebc5a2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.939538} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821433,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","rebac_allow":false,"scope_allow":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":"407c2060-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e89f239-ea22-49c5-9778-6c30592eb610","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9415915} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.736583,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} 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":"407c6e80-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1c7a082a6bcbc3095792e63bbadcaa7","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling 200 14ms","method":"POST","requestID":"407c2060-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} device_1 | {"level":"info","message":"POST /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling 200 13ms","method":"POST","requestID":"407c6e80-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802847,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c7a082a6bcbc3095792e63bbadcaa7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79f09cea-7544-4ec7-ab54-849acbf9d415","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.954661} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.606407733Z"}]},"request_id":"9c571e1a-75a2-471d-ab9f-cf916f404c0a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9546573} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c7a082a6bcbc3095792e63bbadcaa7"},"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:35942","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.131234,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"407eb870-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1c7a082a6bcbc3095792e63bbadcaa7"} device_1 | {"level":"info","message":"GET /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1? 200 14ms","method":"GET","requestID":"c1c7a082a6bcbc3095792e63bbadcaa7","responseTime":14,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling 200 10ms","method":"POST","requestID":"407eb870-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"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":"2c26e419-71b5-409d-b9c6-b3c5c5fb3fd3"},{"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":"bafee7a6-1664-4b2c-a9ca-bb01af798701"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"be319170-313a-4759-b6de-038a87262e51"}]},"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"},{"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31d1a4a81bc9585942942230ff9d811b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648726,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"4080b440-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.513667,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047448,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ0OH0.OaSF31AwfU-N_kVa1CTmWHTuKwB-G3k-Mk3afDO-_L8"} 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":"31d1a4a81bc9585942942230ff9d811b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:06.649884648Z"}]},"request_id":"d495fbae-cb34-45df-8885-df981f1335c7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9728014} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31d1a4a81bc9585942942230ff9d811b"},"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":"27/Feb/2024:15:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31d1a4a81bc9585942942230ff9d811b"} device_1 | {"level":"info","message":"GET /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee? 200 11ms","method":"GET","requestID":"31d1a4a81bc9585942942230ff9d811b","responseTime":11,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"90202124-4725-4504-9b30-a8a84eab5017","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.9765544} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1611a539-79ca-4655-ac82-4ce28434209b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047448.97681} 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":"4080b440-d584-11ee-94df-6bdcf2560c9b"},"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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 44ms","method":"POST","requestID":"4080b440-d584-11ee-94df-6bdcf2560c9b","responseTime":44,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:09Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1121a438-e526-473f-8f28-24527b9b26b2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047449.047522} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.60799,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","rebac_allow":false,"scope_allow":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":"408c9b20-d584-11ee-94df-6bdcf2560c9b"},"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling 200 10ms","method":"POST","requestID":"408c9b20-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:09Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c55a35b6-9e4a-47a8-90c1-d8d04c96764f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047449.0583982} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.08674,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"408e6fe0-d584-11ee-94df-6bdcf2560c9b"},"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling 200 9ms","method":"POST","requestID":"408e6fe0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f8b049473072bf815f787d6ef3241c3","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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"},{"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"2f8b049473072bf815f787d6ef3241c3","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f8b049473072bf815f787d6ef3241c3"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e03e30b9fcd3616976924db940be86bb","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"},{"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3d2e57a9-0dd5-4865-9a50-c2ba553594d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29ad4f31-f01b-40cd-a1b9-6092256b878b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.1331682} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.852852,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8","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":"413202e0-d584-11ee-94df-6bdcf2560c9b"},"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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8 200 14ms","method":"GET","requestID":"413202e0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"e03e30b9fcd3616976924db940be86bb","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"e03e30b9fcd3616976924db940be86bb"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62153192-a814-4d63-a862-b3fad3553c0a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.170724} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.193922,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","rebac_allow":false,"scope_allow":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":"4137a830-d584-11ee-94df-6bdcf2560c9b"},"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling 200 16ms","method":"POST","requestID":"4137a830-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a7ac5e8-74f1-4f76-a2ca-0dee042fcff6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.1911035} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.08537,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"413ab570-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb6f96f404563a112e0233c9b1794a93","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling 200 19ms","method":"POST","requestID":"413ab570-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.432385,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} 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":"bb6f96f404563a112e0233c9b1794a93"},"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/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb6f96f404563a112e0233c9b1794a93"} experiment_1 | {"level":"info","message":"GET /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7 200 19ms","method":"GET","requestID":"bb6f96f404563a112e0233c9b1794a93","responseTime":19,"status":200,"url":"/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c602551532cb2c3ed36e0977b24df273","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.276429,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} 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":"c602551532cb2c3ed36e0977b24df273"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.14668,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} 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":"41442b50-d584-11ee-94df-6bdcf2560c9b"},"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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"faff36478d9bbd15df377367920e3b66","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"},{"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3d2e57a9-0dd5-4865-9a50-c2ba553594d8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3d2e57a9-0dd5-4865-9a50-c2ba553594d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"52907b8c-b22c-49f5-adc2-9aa9683fdfdd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.2711322} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9533b8e5ba1bed5ccd227a5d4842574c","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dda90fe6-b203-4b70-b1c1-813396286c01","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.2718506} 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/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1"},{"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41442b50-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"data":{"peerconnection":"3d2e57a9-0dd5-4865-9a50-c2ba553594d8","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/3d2e57a9-0dd5-4865-9a50-c2ba553594d8 204 54ms","method":"DELETE","requestID":"41442b50-d584-11ee-94df-6bdcf2560c9b","responseTime":54,"status":204,"url":"/peerconnections/3d2e57a9-0dd5-4865-9a50-c2ba553594d8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8980df9d-8b75-4972-adaa-b98d53ff13e1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.3332775} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.22778,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1","object_type":"device","rebac_allow":false,"scope_allow":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":"41506050-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0b370f9e-32df-4de9-9ffc-0f815d51f7f7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0b370f9e-32df-4de9-9ffc-0f815d51f7f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"8b6b53ab-aa7b-4bf8-94ae-cb5aa760b533","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.3430564} device_1 | {"level":"info","message":"POST /devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/signaling 200 18ms","method":"POST","requestID":"41506050-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1/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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a852f485-e21e-4044-840c-27270a92083f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.3434098} 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":"c602551532cb2c3ed36e0977b24df273"},"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:35942","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff584b833-5823-47e4-a6e7-a24d69ccf8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30bcf357-4098-43e0-bd7d-e7bcc2196c53","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.3544488} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.479492,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"4153bbb0-d584-11ee-94df-6bdcf2560c9b"},"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/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling 200 15ms","method":"POST","requestID":"4153bbb0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7 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":"c602551532cb2c3ed36e0977b24df273"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2438","request_time":"3.211","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"51135dbd788e1e1d2d9767043e076565"} experiment_1 | {"level":"info","message":"DELETE /experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7 204 185ms","method":"DELETE","requestID":"c602551532cb2c3ed36e0977b24df273","responseTime":185,"status":204,"url":"/experiments/0b370f9e-32df-4de9-9ffc-0f815d51f7f7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"faff36478d9bbd15df377367920e3b66","responseTime":144,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"9533b8e5ba1bed5ccd227a5d4842574c","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"faff36478d9bbd15df377367920e3b66"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"9533b8e5ba1bed5ccd227a5d4842574c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"91d716c09b46241da7225d7915143a6e","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"1.734","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b53948736bd797b08562b9aa294e4d9"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.057389,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c12c27fb-f2e0-4da3-bbbf-ea99b2e2e1a1' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91d716c09b46241da7225d7915143a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f584b833-5823-47e4-a6e7-a24d69ccf8ee' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"656acbcb-2cd7-45a3-93cb-dac615858752","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.4495423} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91d716c09b46241da7225d7915143a6e"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2121fdef-427f-42db-a47c-16882447d697","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.456031} 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":"91d716c09b46241da7225d7915143a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"4fe4a432-9157-447c-b499-3228d4fc76fa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.4670985} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea0b2c79-5187-4d17-b33a-67e2b3d187bc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.4673312} 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":"91d716c09b46241da7225d7915143a6e"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"2e15fda5-1425-4619-90a5-ba3d581076fa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.471332} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91d716c09b46241da7225d7915143a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"91d716c09b46241da7225d7915143a6e","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +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":"91d716c09b46241da7225d7915143a6e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff67e758037db7c70a05ad248b37c316","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.793347,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} 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":"ff67e758037db7c70a05ad248b37c316"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"35377885-b7ab-47dc-86b9-8ded6b8e6764","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.4957414} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff67e758037db7c70a05ad248b37c316"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c6896b7-9229-4317-8147-0035ef6796ac","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.5003984} 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":"ff67e758037db7c70a05ad248b37c316"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8f9442f6-4bea-45c1-8e45-1e99bc18ecfe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.5095541} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68cc6713-8161-42f4-a6b9-7e136f77b747","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.5097353} 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":"ff67e758037db7c70a05ad248b37c316"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.509535857Z"}]},"request_id":"471ebee2-7183-40b8-9e84-b2c55905ca2d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.5137174} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff67e758037db7c70a05ad248b37c316"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"ff67e758037db7c70a05ad248b37c316","responseTime":36,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff67e758037db7c70a05ad248b37c316"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"26e164c9f51dfbafce6143266727d4f9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637332,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047450,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MH0.nzMbgk5E_gR4x_Ba5uhvkjothXoAkYqKVdWgwEl0nkM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26e164c9f51dfbafce6143266727d4f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"8ddda4f2-419d-4c3f-a8e4-e75065630342","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047450.995484} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26e164c9f51dfbafce6143266727d4f9"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26d4da63-ebb2-49e8-89f8-af2827f5b61d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047451.0020142} 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":"26e164c9f51dfbafce6143266727d4f9"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"c6edb381-f15d-4a72-bcc6-8cf43b310b96","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047451.0281987} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26e164c9f51dfbafce6143266727d4f9"},"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":"27/Feb/2024:15:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/94480697-bbe8-4b5a-a7de-99eb31748250 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"26e164c9f51dfbafce6143266727d4f9"} device_1 | {"level":"info","message":"PATCH /devices/94480697-bbe8-4b5a-a7de-99eb31748250 200 50ms","method":"PATCH","requestID":"26e164c9f51dfbafce6143266727d4f9","responseTime":50,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MX0.hngmTdOEskD1J4weGV9s3oY4rMEdvvKSDSyrr-GTTC8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b9706025bfa06cff4f22782b5e22d362","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:11Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185441,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:11Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047451,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1MX0.hngmTdOEskD1J4weGV9s3oY4rMEdvvKSDSyrr-GTTC8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9706025bfa06cff4f22782b5e22d362"},"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":"27/Feb/2024:15:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/94480697-bbe8-4b5a-a7de-99eb31748250/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b9706025bfa06cff4f22782b5e22d362"} device_1 | {"level":"info","message":"POST /devices/94480697-bbe8-4b5a-a7de-99eb31748250/websocket 200 23ms","method":"POST","requestID":"b9706025bfa06cff4f22782b5e22d362","responseTime":23,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"15e79807c2caa31868533e649a65f5cd","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/780073de-72a8-45a8-b446-40f3a0abe618/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":"15e79807c2caa31868533e649a65f5cd"} device_1 | {"level":"info","message":"OPTIONS /devices/780073de-72a8-45a8-b446-40f3a0abe618/websocket 200 1ms","method":"OPTIONS","requestID":"15e79807c2caa31868533e649a65f5cd","responseTime":1,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1c3022a9bf06c55b5159504ae4f0d7ad","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.351923,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"1c3022a9bf06c55b5159504ae4f0d7ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/780073de-72a8-45a8-b446-40f3a0abe618/websocket 200 32ms","method":"POST","requestID":"1c3022a9bf06c55b5159504ae4f0d7ad","responseTime":32,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/780073de-72a8-45a8-b446-40f3a0abe618/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c3022a9bf06c55b5159504ae4f0d7ad"} device_1 | {"level":"info","message":"device 'http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6ed47c7b5cd95c3090d4250df81d854","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274432,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6ed47c7b5cd95c3090d4250df81d854"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"13c1745b-6aae-4479-a06d-e82f3b1e3164","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.599112} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6ed47c7b5cd95c3090d4250df81d854"},"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":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94480697-bbe8-4b5a-a7de-99eb31748250? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6ed47c7b5cd95c3090d4250df81d854"} device_1 | {"level":"info","message":"GET /devices/94480697-bbe8-4b5a-a7de-99eb31748250? 200 19ms","method":"GET","requestID":"c6ed47c7b5cd95c3090d4250df81d854","responseTime":19,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc10108762783bf68a37c95bfed2ac87","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184246,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc10108762783bf68a37c95bfed2ac87"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.509535857Z"}]},"request_id":"142737c3-8675-44d2-8505-b9a82927ec2c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.6275685} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc10108762783bf68a37c95bfed2ac87"},"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/780073de-72a8-45a8-b446-40f3a0abe618? 200 19ms","method":"GET","requestID":"cc10108762783bf68a37c95bfed2ac87","responseTime":19,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/780073de-72a8-45a8-b446-40f3a0abe618? 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":"cc10108762783bf68a37c95bfed2ac87"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a24719238d34841cfca02c4f2254a831","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:35942","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.353494,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"a24719238d34841cfca02c4f2254a831"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"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:35942","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06954,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42bb3af0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.709598,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"42bb8910-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"2aa2aa51-46e3-4994-b8ca-f6ac6933b98e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.7175744} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42bb3af0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.509535857Z"}]},"request_id":"f074fb4e-e237-464c-bece-0093b9910851","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.718879} 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":"42bb8910-d584-11ee-94df-6bdcf2560c9b"},"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/94480697-bbe8-4b5a-a7de-99eb31748250? 200 24ms","method":"GET","requestID":"42bb3af0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/780073de-72a8-45a8-b446-40f3a0abe618? 200 24ms","method":"GET","requestID":"42bb8910-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"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:35942","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.656002,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42c80c30-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077503,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"42c85a50-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fbfce16-9f8b-4c7b-b9d8-aba2b2ebe438","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8017557} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.034374,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42c8a870-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"3142a4ec-e968-4fd3-bd76-551b094304ea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8049603} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.509535857Z"}]},"request_id":"a0924c89-f231-4cae-be01-e42a412e5afa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.807095} 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":"42c80c30-d584-11ee-94df-6bdcf2560c9b"},"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":"42c85a50-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e541a0a-40a4-481e-b6f0-c905cf9f5cff#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e541a0a-40a4-481e-b6f0-c905cf9f5cff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"26a7205f-8c97-4dd6-b7fc-5ad196de7679","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8155317} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d1297c9-bc0d-405f-9e4f-6658c9591d57","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8160305} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling 200 27ms","method":"POST","requestID":"42c8a870-d584-11ee-94df-6bdcf2560c9b","responseTime":27,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/94480697-bbe8-4b5a-a7de-99eb31748250? 200 34ms","method":"GET","requestID":"42c80c30-d584-11ee-94df-6bdcf2560c9b","responseTime":34,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"a24719238d34841cfca02c4f2254a831"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device_1 | {"level":"info","message":"GET /devices/780073de-72a8-45a8-b446-40f3a0abe618? 200 36ms","method":"GET","requestID":"42c85a50-d584-11ee-94df-6bdcf2560c9b","responseTime":36,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83b169a3-59c2-44ad-9752-093de7e3db0b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8292646} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.733987,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","rebac_allow":false,"scope_allow":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":"42cd6360-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 194ms","method":"POST","requestID":"a24719238d34841cfca02c4f2254a831","responseTime":195,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling 200 16ms","method":"POST","requestID":"42cd6360-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61eda0b9-bb96-44c1-ae2c-d5e7334001be","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8392036} gateway_1 | {"time_local":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a24719238d34841cfca02c4f2254a831"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.175223,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","rebac_allow":false,"scope_allow":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":"42ceea00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18612987f8fd5fa52bf42d322e192f39","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling 200 15ms","method":"POST","requestID":"42ceea00-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024376,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18612987f8fd5fa52bf42d322e192f39"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e89dea9-4be3-4410-855f-641e529515a9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8547907} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755314,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","rebac_allow":false,"scope_allow":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":"42d18210-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.467072502Z"}]},"request_id":"02bc4d04-0f09-439e-9042-b43e742df630","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8590624} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling 200 10ms","method":"POST","requestID":"42d18210-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/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":"18612987f8fd5fa52bf42d322e192f39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"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":"48be2ea3-408f-4936-b1c4-6f51bd206789"},{"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":"a484c851-ad81-48b5-a930-ef15b166c4c3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8e8c60dd-b38b-491b-8be2-41bb9d0c86d1"}]},"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/94480697-bbe8-4b5a-a7de-99eb31748250"},{"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/780073de-72a8-45a8-b446-40f3a0abe618"}],"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/94480697-bbe8-4b5a-a7de-99eb31748250? 200 18ms","method":"GET","requestID":"18612987f8fd5fa52bf42d322e192f39","responseTime":18,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94480697-bbe8-4b5a-a7de-99eb31748250? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18612987f8fd5fa52bf42d322e192f39"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.84093,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"42d3a4f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a27da77d9c48d517870f2c3cdde9140b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803722,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047452,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Mn0.YDcld7dZU-yaFcjVQQezuo7IC3lDL5qHnoQ_0rvnyOs"} 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":"a27da77d9c48d517870f2c3cdde9140b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f87f9b91-1df8-44ec-91d9-468af52d7779","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8793182} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dbfcd03-d405-43ea-839d-e77e76013db8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8797336} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:10.509535857Z"}]},"request_id":"a8b3946b-8e81-4231-91ba-dc8c33b5e21e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.8804312} 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":"42d3a4f0-d584-11ee-94df-6bdcf2560c9b"},"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":"a27da77d9c48d517870f2c3cdde9140b"},"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":"27/Feb/2024:15:24:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/780073de-72a8-45a8-b446-40f3a0abe618? 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":"a27da77d9c48d517870f2c3cdde9140b"} device_1 | {"level":"info","message":"GET /devices/780073de-72a8-45a8-b446-40f3a0abe618? 200 15ms","method":"GET","requestID":"a27da77d9c48d517870f2c3cdde9140b","responseTime":15,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618?"} 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/a9438ffa-649e-4ba4-bd77-7a31d3421be9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"42d3a4f0-d584-11ee-94df-6bdcf2560c9b","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b83868b-7fa1-40fc-a792-56675d138cb0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.9372823} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.965899,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","rebac_allow":false,"scope_allow":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":"42de2c40-d584-11ee-94df-6bdcf2560c9b"},"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/94480697-bbe8-4b5a-a7de-99eb31748250/signaling 200 10ms","method":"POST","requestID":"42de2c40-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e105e490-7753-4a60-863e-b45c4f4f6438","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047452.9495244} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710711,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","rebac_allow":false,"scope_allow":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":"42e00100-d584-11ee-94df-6bdcf2560c9b"},"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/780073de-72a8-45a8-b446-40f3a0abe618/signaling 200 10ms","method":"POST","requestID":"42e00100-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","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/a9438ffa-649e-4ba4-bd77-7a31d3421be9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed1a79d02e34ab748730596846d3d46d","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/94480697-bbe8-4b5a-a7de-99eb31748250"},{"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/780073de-72a8-45a8-b446-40f3a0abe618"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"ed1a79d02e34ab748730596846d3d46d","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed1a79d02e34ab748730596846d3d46d"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","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/a9438ffa-649e-4ba4-bd77-7a31d3421be9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ad6bcd85abe75e4d27bb6f5953cac94","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/94480697-bbe8-4b5a-a7de-99eb31748250"},{"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/780073de-72a8-45a8-b446-40f3a0abe618"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa9438ffa-649e-4ba4-bd77-7a31d3421be9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cf1826a-3c7a-4c47-b276-57e3f758992e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.0428839} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.044985,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9","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":"4386c850-d584-11ee-94df-6bdcf2560c9b"},"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/a9438ffa-649e-4ba4-bd77-7a31d3421be9 200 11ms","method":"GET","requestID":"4386c850-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"8ad6bcd85abe75e4d27bb6f5953cac94","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ad6bcd85abe75e4d27bb6f5953cac94"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98468e0b-eda8-4d69-b6fc-3afc4453e835","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.079774} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.825656,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","rebac_allow":false,"scope_allow":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":"438c4690-d584-11ee-94df-6bdcf2560c9b"},"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/94480697-bbe8-4b5a-a7de-99eb31748250/signaling 200 14ms","method":"POST","requestID":"438c4690-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"792a825d-78cf-48a1-a3e3-a14eca9cacbd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.0970275} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.711302,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","rebac_allow":false,"scope_allow":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":"438edea0-d584-11ee-94df-6bdcf2560c9b"},"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/780073de-72a8-45a8-b446-40f3a0abe618/signaling 200 13ms","method":"POST","requestID":"438edea0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c9c5a50fffb1e05b87f617ab31862d3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.281784,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"1c9c5a50fffb1e05b87f617ab31862d3"},"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/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff 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":"1c9c5a50fffb1e05b87f617ab31862d3"} experiment_1 | {"level":"info","message":"GET /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff 200 17ms","method":"GET","requestID":"1c9c5a50fffb1e05b87f617ab31862d3","responseTime":17,"status":200,"url":"/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29a42edb74913ffa5c5ddb13048a9c9f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.968063,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"29a42edb74913ffa5c5ddb13048a9c9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.933493,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"4397b840-d584-11ee-94df-6bdcf2560c9b"},"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/a9438ffa-649e-4ba4-bd77-7a31d3421be9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"df89116934ec3262add68bbb1c45af4b","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa9438ffa-649e-4ba4-bd77-7a31d3421be9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa9438ffa-649e-4ba4-bd77-7a31d3421be9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"41246540-37eb-4c1f-b998-d3c99dafd6e9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.1688983} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fdb6afd450ef2752936e0bcda71280a6","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"feb6462b-66e4-4cef-9e62-add12033d154","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.1704311} 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":"4397b840-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250"},{"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/780073de-72a8-45a8-b446-40f3a0abe618"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250"},{"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/780073de-72a8-45a8-b446-40f3a0abe618"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"a9438ffa-649e-4ba4-bd77-7a31d3421be9","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/a9438ffa-649e-4ba4-bd77-7a31d3421be9 204 55ms","method":"DELETE","requestID":"4397b840-d584-11ee-94df-6bdcf2560c9b","responseTime":55,"status":204,"url":"/peerconnections/a9438ffa-649e-4ba4-bd77-7a31d3421be9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94480697-bbe8-4b5a-a7de-99eb31748250","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c87056e4-2e1a-44e5-849a-8d6dd8d8acf9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.2319736} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.61703,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250","object_type":"device","rebac_allow":false,"scope_allow":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":"43a3c630-d584-11ee-94df-6bdcf2560c9b"},"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/94480697-bbe8-4b5a-a7de-99eb31748250/signaling 200 10ms","method":"POST","requestID":"43a3c630-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/94480697-bbe8-4b5a-a7de-99eb31748250/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e541a0a-40a4-481e-b6f0-c905cf9f5cff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3e541a0a-40a4-481e-b6f0-c905cf9f5cff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"eacc5b80-cfcd-44d0-8dd0-ad1299d6ac33","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.2408895} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"029871be-c247-4a0b-a903-ccd6c7b77a36","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.241102} 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":"29a42edb74913ffa5c5ddb13048a9c9f"},"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:35942","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F780073de-72a8-45a8-b446-40f3a0abe618","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28e9d839-32ba-467b-8422-eb28e0490129","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.2453628} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.973357,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/780073de-72a8-45a8-b446-40f3a0abe618","object_type":"device","rebac_allow":false,"scope_allow":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":"43a5c200-d584-11ee-94df-6bdcf2560c9b"},"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/780073de-72a8-45a8-b446-40f3a0abe618/signaling 200 12ms","method":"POST","requestID":"43a5c200-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/780073de-72a8-45a8-b446-40f3a0abe618/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff 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":"29a42edb74913ffa5c5ddb13048a9c9f"} experiment_1 | {"level":"info","message":"DELETE /experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff 204 169ms","method":"DELETE","requestID":"29a42edb74913ffa5c5ddb13048a9c9f","responseTime":169,"status":204,"url":"/experiments/3e541a0a-40a4-481e-b6f0-c905cf9f5cff"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2438","request_time":"3.239","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3dfb07ebd4c2a43de9834b248b04967e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"df89116934ec3262add68bbb1c45af4b","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"df89116934ec3262add68bbb1c45af4b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"fdb6afd450ef2752936e0bcda71280a6","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdb6afd450ef2752936e0bcda71280a6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9ceaaa666cd864f2dff6100e5e8ecfe","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"1.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":"d179d4d64fa09ce2fce4ed05e35b87c9"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.825632,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/94480697-bbe8-4b5a-a7de-99eb31748250' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"d9ceaaa666cd864f2dff6100e5e8ecfe"},"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/780073de-72a8-45a8-b446-40f3a0abe618' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"94394629-4fb8-4d96-a8be-d92ad70d493f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.335583} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9ceaaa666cd864f2dff6100e5e8ecfe"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5491d2f6-eebd-4496-b1aa-e218c23cdca7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3415363} 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":"d9ceaaa666cd864f2dff6100e5e8ecfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"fd9d0444-0132-4abd-ad65-ec238c16c6bd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3543925} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f855710-30b5-458c-8354-9f087f0c2054","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3546612} 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":"d9ceaaa666cd864f2dff6100e5e8ecfe"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"695c5e0f-9815-4997-9a37-895b5478624a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3599205} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9ceaaa666cd864f2dff6100e5e8ecfe"},"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":"d9ceaaa666cd864f2dff6100e5e8ecfe","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9ceaaa666cd864f2dff6100e5e8ecfe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7a1831ea6872861556be7df6e7d67faf","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899642,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"7a1831ea6872861556be7df6e7d67faf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c60c3437-f966-4f69-820e-53635bcbe7e6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3841603} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a1831ea6872861556be7df6e7d67faf"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72e60e03-e384-4340-aed1-df410dea7228","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3893342} 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":"7a1831ea6872861556be7df6e7d67faf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"16f64447-5173-4580-8172-a22350697c48","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3986127} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9802ca34-d48c-48e9-aafe-4a7f74b1e6c8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.3988392} 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":"7a1831ea6872861556be7df6e7d67faf"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"230ff4bc-9ab3-4254-bc3d-0152d0c313d4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.403435} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a1831ea6872861556be7df6e7d67faf"},"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":"7a1831ea6872861556be7df6e7d67faf","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a1831ea6872861556be7df6e7d67faf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bd696029f2da956317360ae974078876","responseTime":5,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c20334071e242fc6015183ebfe5d83d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907479,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd696029f2da956317360ae974078876"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986144,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c20334071e242fc6015183ebfe5d83d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"8c92c9de-2347-463d-bca0-4cb64fab0f23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.8786066} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd696029f2da956317360ae974078876"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"61f61105-d217-4d46-ab9f-e09a3e38510f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.879057} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c20334071e242fc6015183ebfe5d83d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67e18434-0349-4f11-b301-422d09805ba4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.8828523} 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":"bd696029f2da956317360ae974078876"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30883884-ff15-4f35-98cd-14ff5093effd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.8845682} 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":"7c20334071e242fc6015183ebfe5d83d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"6af70614-d836-46c6-9086-93862f94a39d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.8874128} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c20334071e242fc6015183ebfe5d83d"},"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":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7c20334071e242fc6015183ebfe5d83d"} device_1 | {"level":"info","message":"PATCH /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514 200 21ms","method":"PATCH","requestID":"7c20334071e242fc6015183ebfe5d83d","responseTime":21,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b9fb84b1e385ef59a04648b12a814af","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.415784,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b9fb84b1e385ef59a04648b12a814af"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"5a170e50-4003-413f-b3fd-b81df2381efc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.9198818} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd696029f2da956317360ae974078876"},"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":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bd696029f2da956317360ae974078876"} device_1 | {"level":"info","message":"PATCH /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08 200 54ms","method":"PATCH","requestID":"bd696029f2da956317360ae974078876","responseTime":54,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b164b670f42dbabf4b8c886e056f2830","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/websocket 200 33ms","method":"POST","requestID":"9b9fb84b1e385ef59a04648b12a814af","responseTime":33,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9b9fb84b1e385ef59a04648b12a814af"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959345,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} 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":"b164b670f42dbabf4b8c886e056f2830"},"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":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b164b670f42dbabf4b8c886e056f2830"} device_1 | {"level":"info","message":"POST /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/websocket 200 10ms","method":"POST","requestID":"b164b670f42dbabf4b8c886e056f2830","responseTime":10,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea168f33ad0dbf6703299cb56767608a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146945,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea168f33ad0dbf6703299cb56767608a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"80a31497-9ad2-420a-94ac-cc3e2a5bf41a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.9724655} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea168f33ad0dbf6703299cb56767608a"},"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/6b8f9387-95aa-4302-8a1b-796f6c937a08? 200 14ms","method":"GET","requestID":"ea168f33ad0dbf6703299cb56767608a","responseTime":14,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea168f33ad0dbf6703299cb56767608a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"275c7fc57a811ac0b97db134b50f6d1a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210151,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047454,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NH0._AyiS2xrqE5P4cp2hXWsGTceBmhEcIRwVUWGta2B0lM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"275c7fc57a811ac0b97db134b50f6d1a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"aaaa0293-477b-404c-a8bf-bcbb6b8bfe0a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047454.996173} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"275c7fc57a811ac0b97db134b50f6d1a"},"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":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"275c7fc57a811ac0b97db134b50f6d1a"} device_1 | {"level":"info","message":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? 200 16ms","method":"GET","requestID":"275c7fc57a811ac0b97db134b50f6d1a","responseTime":16,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15028ac3073450e28974f081d2f39fd1","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:35942","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.843855,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"15028ac3073450e28974f081d2f39fd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"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:35942","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615226,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44237d80-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122249,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4423cba0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"78d3c94f-1670-42ad-89e2-0232a76d73fe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.076818} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44237d80-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"3a6ddc2d-8774-4984-9678-f3f3e594e125","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.078066} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4423cba0-d584-11ee-94df-6bdcf2560c9b"},"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/6b8f9387-95aa-4302-8a1b-796f6c937a08? 200 22ms","method":"GET","requestID":"44237d80-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? 200 21ms","method":"GET","requestID":"4423cba0-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"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/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.616644,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"442f8b70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843946,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"442fd990-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24: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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"59067eb4-a05f-404e-889f-a923da81d862","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1593847} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"442f8b70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"a3b26485-8a54-4aa7-804b-4d75a672d3ab","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.161377} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d849ebe5-34be-415b-a6d1-24b4b07f7864","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1617742} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"442fd990-d584-11ee-94df-6bdcf2560c9b"},"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:49268","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.238328,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","rebac_allow":false,"scope_allow":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":"44304ec0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33660c37-c8d2-4c0a-a897-956f3ca4ebf6#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33660c37-c8d2-4c0a-a897-956f3ca4ebf6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"b36c2f67-5dd7-4b94-8ec6-fb2ff0c2a00a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.165087} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23b2fb97-279f-4b4d-99c6-4e6f722e2d9d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1653528} device_1 | {"level":"info","message":"GET /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08? 200 24ms","method":"GET","requestID":"442f8b70-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? 200 22ms","method":"GET","requestID":"442fd990-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514?"} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15028ac3073450e28974f081d2f39fd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling 200 24ms","method":"POST","requestID":"44304ec0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4be99aca-b19b-4a78-add6-3f4741d6563a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1751657} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.891218,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","rebac_allow":false,"scope_allow":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":"4433aa20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15028ac3073450e28974f081d2f39fd1"} experiment_1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"15028ac3073450e28974f081d2f39fd1","responseTime":171,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling 200 11ms","method":"POST","requestID":"4433aa20-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6ea6c7a-39c5-4d61-b96a-db69c7784679","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1819756} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.517605,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","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":"44349480-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling 200 13ms","method":"POST","requestID":"44349480-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"59f10f621a2fe37f7bc045c9194de245","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d999834-4301-491e-88ab-b7fd91cc9337","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.1945078} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.447898,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4435cd00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922665,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"59f10f621a2fe37f7bc045c9194de245"},"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling 200 18ms","method":"POST","requestID":"4435cd00-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"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":"fff24142-f0db-4059-930a-745ebc12eb53"},{"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":"92519d69-29be-49e7-abe9-d69a49b79f93"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5fb2fa05-3f7c-4f64-b372-abcfbabd8f25"}]},"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"},{"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/6b8f9387-95aa-4302-8a1b-796f6c937a08"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.354366609Z"}]},"request_id":"e8202bd8-caf6-4e3b-a555-95f47340558e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.203877} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59f10f621a2fe37f7bc045c9194de245"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.113042,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} device_1 | {"level":"info","message":"GET /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08? 200 18ms","method":"GET","requestID":"59f10f621a2fe37f7bc045c9194de245","responseTime":18,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59f10f621a2fe37f7bc045c9194de245"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"44394f70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9ff352899d71d0c7a71973566c079ec","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73079,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"d9ff352899d71d0c7a71973566c079ec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"1a0fba0f-dd87-4a9b-8952-949df7071a3c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.2225244} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52f853d3-17e4-44f3-9270-781d653a35b3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.2226944} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:14.398586468Z"}]},"request_id":"22f4e387-a4dd-4e51-a280-3ba37d072d8b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.2234256} 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":"44394f70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9ff352899d71d0c7a71973566c079ec"},"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":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9ff352899d71d0c7a71973566c079ec"} device_1 | {"level":"info","message":"GET /devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514? 200 13ms","method":"GET","requestID":"d9ff352899d71d0c7a71973566c079ec","responseTime":13,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514?"} 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/c21aaf59-60a0-470e-8f17-376d943b5628'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628'"} 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 46ms","method":"POST","requestID":"44394f70-d584-11ee-94df-6bdcf2560c9b","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4e09bbd-e086-467c-b12d-148620dad86e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.3008368} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.210513,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","rebac_allow":false,"scope_allow":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":"4446bcf0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"839e48439c2dfdb020f7fc79ef4a86d7","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling 200 16ms","method":"POST","requestID":"4446bcf0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling"} 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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"},{"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/6b8f9387-95aa-4302-8a1b-796f6c937a08"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"839e48439c2dfdb020f7fc79ef4a86d7","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"839e48439c2dfdb020f7fc79ef4a86d7"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"650a9d7b-cfb3-498f-9f67-91191b583ae6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.3207388} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.056007,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","rebac_allow":false,"scope_allow":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":"4449ca30-d584-11ee-94df-6bdcf2560c9b"},"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling 200 16ms","method":"POST","requestID":"4449ca30-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","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/c21aaf59-60a0-470e-8f17-376d943b5628' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d4cd80f30bf31c2503f2c56b1405674d","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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"},{"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/6b8f9387-95aa-4302-8a1b-796f6c937a08"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc21aaf59-60a0-470e-8f17-376d943b5628","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ace33cda-44ea-4d26-8775-6cf145b73eaf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.3720553} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.067559,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4451b970-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628 200 14ms","method":"GET","requestID":"4451b970-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"d4cd80f30bf31c2503f2c56b1405674d","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4cd80f30bf31c2503f2c56b1405674d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0131fde0-7712-46d9-b766-30a56d0a6d31","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.4095633} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.478476,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","rebac_allow":false,"scope_allow":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":"445737b0-d584-11ee-94df-6bdcf2560c9b"},"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling 200 13ms","method":"POST","requestID":"445737b0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79a7257c-3e35-4913-9975-e7bf49d2f7dc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.4244435} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.265007,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","rebac_allow":false,"scope_allow":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":"4459a8b0-d584-11ee-94df-6bdcf2560c9b"},"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/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling 200 11ms","method":"POST","requestID":"4459a8b0-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e7b51a8d297570b44f4267e07fdd655","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.983916,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"7e7b51a8d297570b44f4267e07fdd655"},"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/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e7b51a8d297570b44f4267e07fdd655"} experiment_1 | {"level":"info","message":"GET /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6 200 16ms","method":"GET","requestID":"7e7b51a8d297570b44f4267e07fdd655","responseTime":16,"status":200,"url":"/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"629252f309fbc7f6f8675e550e3f31f1","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.972764,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"629252f309fbc7f6f8675e550e3f31f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251037,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"4464a530-d584-11ee-94df-6bdcf2560c9b"},"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/c21aaf59-60a0-470e-8f17-376d943b5628' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc21aaf59-60a0-470e-8f17-376d943b5628': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc21aaf59-60a0-470e-8f17-376d943b5628","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"086eed24-d3e1-4331-89f8-45ba7340b809","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.5154135} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d8e3c1bead461ecbc14c33c8afa2bb6a","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db2b9ee3-1424-4ca6-8985-c8f6af172e05","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.5169482} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e92f5e5f6d3bf785e156f9db07d5fecb","responseTime":1,"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":"4464a530-d584-11ee-94df-6bdcf2560c9b"},"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":"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"},{"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/6b8f9387-95aa-4302-8a1b-796f6c937a08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514"},{"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/6b8f9387-95aa-4302-8a1b-796f6c937a08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"c21aaf59-60a0-470e-8f17-376d943b5628","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/c21aaf59-60a0-470e-8f17-376d943b5628 204 58ms","method":"DELETE","requestID":"4464a530-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"status":204,"url":"/peerconnections/c21aaf59-60a0-470e-8f17-376d943b5628"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ecd8c0e-2e07-4128-85f6-ea93a8d81514","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18e492ee-4d25-4dd4-a795-e47009aff21e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.5857573} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.316455,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514","object_type":"device","rebac_allow":false,"scope_allow":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":"4471eba0-d584-11ee-94df-6bdcf2560c9b"},"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/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling 200 14ms","method":"POST","requestID":"4471eba0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33660c37-c8d2-4c0a-a897-956f3ca4ebf6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33660c37-c8d2-4c0a-a897-956f3ca4ebf6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"39edec92-9855-4711-bec3-fed3ba3068ab","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.5979958} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72cb262f-90a0-40c6-a837-0b1b5f0c2476","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.5981746} 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":"629252f309fbc7f6f8675e550e3f31f1"},"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:35942","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8f9387-95aa-4302-8a1b-796f6c937a08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f54bef6a-7115-4273-8e2d-596f0fb1f0a0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.6041787} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.950703,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08","object_type":"device","rebac_allow":false,"scope_allow":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":"4474aac0-d584-11ee-94df-6bdcf2560c9b"},"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/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling 200 18ms","method":"POST","requestID":"4474aac0-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/6b8f9387-95aa-4302-8a1b-796f6c937a08/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"629252f309fbc7f6f8675e550e3f31f1"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.732","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9cb5504e7c461d8552063ec229e42c88"} experiment_1 | {"level":"info","message":"DELETE /experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6 204 197ms","method":"DELETE","requestID":"629252f309fbc7f6f8675e550e3f31f1","responseTime":197,"status":204,"url":"/experiments/33660c37-c8d2-4c0a-a897-956f3ca4ebf6"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.740","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cca81245b08e17a5cc687f3b2fff8f56"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"d8e3c1bead461ecbc14c33c8afa2bb6a","responseTime":156,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"e92f5e5f6d3bf785e156f9db07d5fecb","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"d8e3c1bead461ecbc14c33c8afa2bb6a"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"e92f5e5f6d3bf785e156f9db07d5fecb"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4ecd8c0e-2e07-4128-85f6-ea93a8d81514' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"30e6ca561bb2d0fd3bf3f088fa283e22","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.048471,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"30e6ca561bb2d0fd3bf3f088fa283e22"},"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/6b8f9387-95aa-4302-8a1b-796f6c937a08' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39854e6c-10b8-4737-80cf-bb1eb6ccf638","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.704416} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30e6ca561bb2d0fd3bf3f088fa283e22"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9f27bad-733c-4339-868d-0b7e98c733fb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7103117} 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":"30e6ca561bb2d0fd3bf3f088fa283e22"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"ed152790-1174-45d4-a173-fed824bd9d04","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7226095} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"220c7920-5194-4ddb-b252-624ab6b375de","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7227988} 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":"30e6ca561bb2d0fd3bf3f088fa283e22"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"f788bb50-b5a7-434d-9402-b0bdbf8cf969","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.728323} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30e6ca561bb2d0fd3bf3f088fa283e22"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"30e6ca561bb2d0fd3bf3f088fa283e22","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30e6ca561bb2d0fd3bf3f088fa283e22"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2f7243be832c60708659f53cbed12de","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.717437,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047455,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1NX0.FwWC8Mrc2WW7bg3UFJKwo4y7yItlQc3UMtzCzN9dJaI"} 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":"b2f7243be832c60708659f53cbed12de"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ceaa2163-8a2d-4ba1-b82b-37f2fcd0fd7c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7542698} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2f7243be832c60708659f53cbed12de"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fa335bc-2938-430f-b68b-ddc44f0ec5d7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7598953} 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":"b2f7243be832c60708659f53cbed12de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"7275dd88-332e-4233-a7fe-0455c65bfedf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7701964} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32450817-4ac9-43aa-a816-75c8488d43ce","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.7704937} 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":"b2f7243be832c60708659f53cbed12de"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"b820891e-f0d8-4af4-bc8c-c68c320a6cb5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047455.775341} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2f7243be832c60708659f53cbed12de"},"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 40ms","method":"POST","requestID":"b2f7243be832c60708659f53cbed12de","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2f7243be832c60708659f53cbed12de"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fec53dc2608a464ff18f5404c9a3f761","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78184,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"fec53dc2608a464ff18f5404c9a3f761"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dec9ad2c4e27296c3371df53271bf16b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"e5960e76-cd52-4e05-b3bf-352b95ccdacb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2475398} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec53dc2608a464ff18f5404c9a3f761"},"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:35942","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761659,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dec9ad2c4e27296c3371df53271bf16b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1ea8cdb-dbd4-4f43-8af9-b7756fb16004","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2527153} 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":"fec53dc2608a464ff18f5404c9a3f761"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"72158531-b045-47b6-9d0f-59cd11ce9ba9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2694645} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec53dc2608a464ff18f5404c9a3f761"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"dbfdc8ca-0e31-4bb8-9a31-864d55795c04","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2709482} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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":"dec9ad2c4e27296c3371df53271bf16b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"PATCH /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07 200 37ms","method":"PATCH","requestID":"fec53dc2608a464ff18f5404c9a3f761","responseTime":37,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fec53dc2608a464ff18f5404c9a3f761"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a5cb52c-d8db-49d0-9695-1ac0f8c77b83","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2772686} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2e4b76b3c273f03ddb649a5dd208f264","responseTime":4,"status":200,"url":"/auth"} 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":"dec9ad2c4e27296c3371df53271bf16b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006566,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e4b76b3c273f03ddb649a5dd208f264"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"cb0f086a-9bb6-44a1-b272-bc6c54daf9b3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.2887545} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dec9ad2c4e27296c3371df53271bf16b"},"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/b99b587b-4450-4aff-954f-af3dced2bc53 200 45ms","method":"PATCH","requestID":"dec9ad2c4e27296c3371df53271bf16b","responseTime":45,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b99b587b-4450-4aff-954f-af3dced2bc53 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dec9ad2c4e27296c3371df53271bf16b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad7992655182183236f6dfeaf8a5919a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"POST /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/websocket 200 17ms","method":"POST","requestID":"2e4b76b3c273f03ddb649a5dd208f264","responseTime":17,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/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.3","requestID":"2e4b76b3c273f03ddb649a5dd208f264"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785387,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"ad7992655182183236f6dfeaf8a5919a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b99b587b-4450-4aff-954f-af3dced2bc53/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.3","requestID":"ad7992655182183236f6dfeaf8a5919a"} device_1 | {"level":"info","message":"POST /devices/b99b587b-4450-4aff-954f-af3dced2bc53/websocket 200 21ms","method":"POST","requestID":"ad7992655182183236f6dfeaf8a5919a","responseTime":21,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5dc190f62a0b752fbf6caef4784459c9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685912,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dc190f62a0b752fbf6caef4784459c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"a3b8c87d-bafc-4723-b2fd-3d064113b7dc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.3478003} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dc190f62a0b752fbf6caef4784459c9"},"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":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5dc190f62a0b752fbf6caef4784459c9"} device_1 | {"level":"info","message":"GET /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? 200 14ms","method":"GET","requestID":"5dc190f62a0b752fbf6caef4784459c9","responseTime":14,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"054a27095942602507e867975df652b6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250691,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"054a27095942602507e867975df652b6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"c43bf584-6f15-4687-b989-7ab5f142ba22","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.3693826} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"054a27095942602507e867975df652b6"},"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/b99b587b-4450-4aff-954f-af3dced2bc53? 200 14ms","method":"GET","requestID":"054a27095942602507e867975df652b6","responseTime":14,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b99b587b-4450-4aff-954f-af3dced2bc53? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"054a27095942602507e867975df652b6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"595a62aea0dc5ca36e3c0e208be7c3b1","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:35942","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.097028,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"595a62aea0dc5ca36e3c0e208be7c3b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"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:35942","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102362,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"44f54c70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136672,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"44f59a90-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"c8c5f42c-4bce-4bbe-8206-057da0ddf42c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.4542854} 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":"44f54c70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"2f89e340-ff69-40f7-91db-b2fa4cc4b17e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.4556932} 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":"44f59a90-d584-11ee-94df-6bdcf2560c9b"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? 200 25ms","method":"GET","requestID":"44f54c70-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b99b587b-4450-4aff-954f-af3dced2bc53? 200 24ms","method":"GET","requestID":"44f59a90-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"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:35942","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.393112,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45026bd0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.0542,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"4502b9f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.888133,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4c76eca-3317-4f77-bee3-0d6a16b2459f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5374908} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","rebac_allow":false,"scope_allow":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":"45030810-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"0390846c-c69a-42b5-8303-c72ecbdbece7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5417175} 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":"45026bd0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"dc4732fb-309b-41ff-9100-95841dbf2236","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5465007} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4502b9f0-d584-11ee-94df-6bdcf2560c9b"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling 200 21ms","method":"POST","requestID":"45030810-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38aa94d9-943a-4cd6-ac8f-224050a68146#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38aa94d9-943a-4cd6-ac8f-224050a68146","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"ae112a80-a1a5-4b82-b3b9-2f22074a88f4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5519195} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa098b85-f279-4c91-91a7-628df3294c88","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.552213} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"595a62aea0dc5ca36e3c0e208be7c3b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} device_1 | {"level":"info","message":"GET /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? 200 31ms","method":"GET","requestID":"45026bd0-d584-11ee-94df-6bdcf2560c9b","responseTime":31,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b99b587b-4450-4aff-954f-af3dced2bc53? 200 31ms","method":"GET","requestID":"4502b9f0-d584-11ee-94df-6bdcf2560c9b","responseTime":31,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a311c281-0063-4b85-87fc-a595bd2d028b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5583453} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.906626,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","rebac_allow":false,"scope_allow":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":"4506b190-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"595a62aea0dc5ca36e3c0e208be7c3b1","responseTime":183,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling 200 13ms","method":"POST","requestID":"4506b190-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ebf1955-089a-4d56-929e-6b642200f6c9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5656366} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"595a62aea0dc5ca36e3c0e208be7c3b1"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.248276,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","rebac_allow":false,"scope_allow":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":"4507ea10-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"677d9cd46e5a4a7013472dc832b7f976","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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling 200 14ms","method":"POST","requestID":"4507ea10-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980195,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"677d9cd46e5a4a7013472dc832b7f976"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6506dc2-d7c2-4d9b-b708-4627f1479d1a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5819721} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.722584726Z"}]},"request_id":"3f6023ed-9f1f-4c98-b999-78d214dcac54","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.5820491} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"677d9cd46e5a4a7013472dc832b7f976"},"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:35942","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.376685,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","rebac_allow":false,"scope_allow":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":"450a5b10-d584-11ee-94df-6bdcf2560c9b"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? 200 15ms","method":"GET","requestID":"677d9cd46e5a4a7013472dc832b7f976","responseTime":15,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"677d9cd46e5a4a7013472dc832b7f976"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling 200 12ms","method":"POST","requestID":"450a5b10-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"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":"9f6b2a44-e9be-4323-9932-706bf40cc3a5"},{"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":"27222e7b-4493-42b8-bf02-745d0c1eb6f7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8d875101-0da6-4baf-bf16-5f94088441f2"}]},"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/b99b587b-4450-4aff-954f-af3dced2bc53"},{"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4dca93649eda9044501a75da7c496b1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.76786,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"450ca500-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621831,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"b4dca93649eda9044501a75da7c496b1"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:15.770174698Z"}]},"request_id":"9c43e6b0-0b92-459d-b148-192e8ef356cb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.6020823} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4dca93649eda9044501a75da7c496b1"},"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/b99b587b-4450-4aff-954f-af3dced2bc53? 200 12ms","method":"GET","requestID":"b4dca93649eda9044501a75da7c496b1","responseTime":12,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b99b587b-4450-4aff-954f-af3dced2bc53? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4dca93649eda9044501a75da7c496b1"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"b9057b9f-2883-4547-b73c-7c0e9caa1da7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.6059315} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5fc2e09-7efe-4331-8b1f-423fcf0028d5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.6063888} 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":"450ca500-d584-11ee-94df-6bdcf2560c9b"},"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/1611fabb-c0c6-4540-be40-ecc60ec3581f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f'"} 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":"450ca500-d584-11ee-94df-6bdcf2560c9b","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"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be5b86b3-8a01-4d9a-9c58-73ce6c44829e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.6594884} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.540338,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","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":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"961a5ef91ea78dbe416d84afe8bfa2da","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"451641f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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/b99b587b-4450-4aff-954f-af3dced2bc53"},{"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"961a5ef91ea78dbe416d84afe8bfa2da","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"961a5ef91ea78dbe416d84afe8bfa2da"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling 200 24ms","method":"POST","requestID":"451641f0-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"979cc12a-c57c-408f-b5ad-e870f446aaf2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.6852472} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.082893,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","rebac_allow":false,"scope_allow":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":"451a3990-d584-11ee-94df-6bdcf2560c9b"},"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/b99b587b-4450-4aff-954f-af3dced2bc53/signaling 200 9ms","method":"POST","requestID":"451a3990-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","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/1611fabb-c0c6-4540-be40-ecc60ec3581f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"45036dde3baa906c8bf00fc92fa2e83b","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/b99b587b-4450-4aff-954f-af3dced2bc53"},{"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1611fabb-c0c6-4540-be40-ecc60ec3581f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22b7590c-6391-4c68-a7e3-3f540ab17136","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.717125} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.356727,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f","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":"451ef480-d584-11ee-94df-6bdcf2560c9b"},"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/1611fabb-c0c6-4540-be40-ecc60ec3581f 200 9ms","method":"GET","requestID":"451ef480-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"45036dde3baa906c8bf00fc92fa2e83b","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"45036dde3baa906c8bf00fc92fa2e83b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dcfaa1e-1231-4216-9f5b-06afd401648b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.7446725} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.925325,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","rebac_allow":false,"scope_allow":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":"45233a40-d584-11ee-94df-6bdcf2560c9b"},"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/b99b587b-4450-4aff-954f-af3dced2bc53/signaling 200 10ms","method":"POST","requestID":"45233a40-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d300540a-b02b-4700-a18a-2c26b1fca00b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.7556698} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.168364,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","rebac_allow":false,"scope_allow":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":"4524e7f0-d584-11ee-94df-6bdcf2560c9b"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling 200 10ms","method":"POST","requestID":"4524e7f0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffe816754ed73659d24df3ff7e934e7a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.067822,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"ffe816754ed73659d24df3ff7e934e7a"},"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/38aa94d9-943a-4cd6-ac8f-224050a68146"} experiment_1 | {"level":"info","message":"GET /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146 200 12ms","method":"GET","requestID":"ffe816754ed73659d24df3ff7e934e7a","responseTime":12,"status":200,"url":"/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"} gateway_1 | {"time_local":"27/Feb/2024:15:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffe816754ed73659d24df3ff7e934e7a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1f52d1a22d1100ec0bc649ca957bd66e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.784693,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"1f52d1a22d1100ec0bc649ca957bd66e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251546,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047456,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1Nn0.sPuHMAvz0eifsUpSTTHJBRBIG1AcRJjiR7T8_zzXyzc"} 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":"45322e60-d584-11ee-94df-6bdcf2560c9b"},"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/1611fabb-c0c6-4540-be40-ecc60ec3581f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1611fabb-c0c6-4540-be40-ecc60ec3581f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1611fabb-c0c6-4540-be40-ecc60ec3581f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"68d0f2bb-c661-47e1-b424-4401352c628c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.8663595} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed2f7fcd827ba4dfa5c2e7999a5580d2","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"458a859d-4231-4e20-b7fd-f4d53638bd7f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.866795} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2ccae79be0b241287846138bec49ff5f","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":"closed","url":"http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53"},{"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53"},{"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"}}},"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":"45322e60-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"data":{"peerconnection":"1611fabb-c0c6-4540-be40-ecc60ec3581f","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/1611fabb-c0c6-4540-be40-ecc60ec3581f 204 63ms","method":"DELETE","requestID":"45322e60-d584-11ee-94df-6bdcf2560c9b","responseTime":63,"status":204,"url":"/peerconnections/1611fabb-c0c6-4540-be40-ecc60ec3581f"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.12173,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb99b587b-4450-4aff-954f-af3dced2bc53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80e68070-b5e4-4793-a766-469dd4869ade","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.9351265} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"453f74d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling 200 20ms","method":"POST","requestID":"453f74d0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/b99b587b-4450-4aff-954f-af3dced2bc53/signaling"} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2770712d-2c0f-47d1-a686-803958b4f8f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.9481845} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38aa94d9-943a-4cd6-ac8f-224050a68146': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F38aa94d9-943a-4cd6-ac8f-224050a68146","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"52df8e59-46db-4921-96f4-f0f0618748f0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.9493916} 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":"1f52d1a22d1100ec0bc649ca957bd66e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f2ab003-fec4-4e5d-a4dc-430da9501039","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047456.953513} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.183805,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:16Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07","object_type":"device","rebac_allow":false,"scope_allow":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":"4542d030-d584-11ee-94df-6bdcf2560c9b"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling 200 13ms","method":"POST","requestID":"4542d030-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146 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":"1f52d1a22d1100ec0bc649ca957bd66e"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.715","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5f02521115832855a31560c8c8faa2f4"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.693","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cd1a72a5207317523e797a2196a2edf8"} experiment_1 | {"level":"info","message":"DELETE /experiments/38aa94d9-943a-4cd6-ac8f-224050a68146 204 188ms","method":"DELETE","requestID":"1f52d1a22d1100ec0bc649ca957bd66e","responseTime":188,"status":204,"url":"/experiments/38aa94d9-943a-4cd6-ac8f-224050a68146"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"ed2f7fcd827ba4dfa5c2e7999a5580d2","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed2f7fcd827ba4dfa5c2e7999a5580d2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1N30.EU1rePUbst6nnqNuOn5xt-zqF-0YdZegFuxzlz9jz8w","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"2ccae79be0b241287846138bec49ff5f","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ccae79be0b241287846138bec49ff5f"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b99b587b-4450-4aff-954f-af3dced2bc53' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44ea788f05ec713c9c209a36e09de75d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.850997,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:17Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047457,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1N30.EU1rePUbst6nnqNuOn5xt-zqF-0YdZegFuxzlz9jz8w"} 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":"44ea788f05ec713c9c209a36e09de75d"},"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/89c1f762-7cd8-4ca4-8edc-d6d8d87fbc07' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"680cf3df-7cc4-4ef8-8e52-c2eb9899b97b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.039846} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ea788f05ec713c9c209a36e09de75d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef7ffafb-2d3d-4154-8b7a-b1e0b8ea82c5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.0454078} 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":"44ea788f05ec713c9c209a36e09de75d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"1eae9e48-4595-4e33-879d-239eb433bd3b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.0558279} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbb17be5-3bb3-4320-be98-1b1611d89cec","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.055937} 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":"44ea788f05ec713c9c209a36e09de75d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.055798907Z"}]},"request_id":"3291eeb6-8f68-41aa-b704-f6e9aaf4482a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.060596} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ea788f05ec713c9c209a36e09de75d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"44ea788f05ec713c9c209a36e09de75d","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44ea788f05ec713c9c209a36e09de75d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1N30.EU1rePUbst6nnqNuOn5xt-zqF-0YdZegFuxzlz9jz8w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"da8864637cd64fa590e56b850d8a34a5","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820973,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:17Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047457,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1N30.EU1rePUbst6nnqNuOn5xt-zqF-0YdZegFuxzlz9jz8w"} 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":"da8864637cd64fa590e56b850d8a34a5"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"047092cb-b783-477d-b98e-a14498ee24e3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.0845964} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da8864637cd64fa590e56b850d8a34a5"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"090cee12-b7b5-4c8d-89f5-66209f012b74","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.0896919} 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":"da8864637cd64fa590e56b850d8a34a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"17db7ec2-30f3-4b26-aabd-8e6c3f7c7020","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.1022995} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a808a7da-234e-430e-a5aa-59e8166df1cc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.102366} 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":"da8864637cd64fa590e56b850d8a34a5"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.102272423Z"}]},"request_id":"17ed091e-3906-424f-b143-ef32c91400cc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047457.1075482} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da8864637cd64fa590e56b850d8a34a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"da8864637cd64fa590e56b850d8a34a5","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da8864637cd64fa590e56b850d8a34a5"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4167d0fd99ffbecc18499f7cb6747a9e","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9b7a030-6324-4b25-89b3-0383b923a879/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":"4167d0fd99ffbecc18499f7cb6747a9e"} device_1 | {"level":"info","message":"OPTIONS /devices/f9b7a030-6324-4b25-89b3-0383b923a879/websocket 200 1ms","method":"OPTIONS","requestID":"4167d0fd99ffbecc18499f7cb6747a9e","responseTime":1,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67ea9a30f14fe4e8b5856eae29d3728e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.421056,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67ea9a30f14fe4e8b5856eae29d3728e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1c97dba8959e9e84cecede9886bc0505","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/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":"1c97dba8959e9e84cecede9886bc0505"} device_1 | {"level":"info","message":"OPTIONS /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/websocket 200 1ms","method":"OPTIONS","requestID":"1c97dba8959e9e84cecede9886bc0505","responseTime":1,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"adabe41cf74efdee56647e047cb06efd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.661821,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"adabe41cf74efdee56647e047cb06efd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/f9b7a030-6324-4b25-89b3-0383b923a879/websocket 200 38ms","method":"POST","requestID":"67ea9a30f14fe4e8b5856eae29d3728e","responseTime":38,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9b7a030-6324-4b25-89b3-0383b923a879/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"67ea9a30f14fe4e8b5856eae29d3728e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/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":"adabe41cf74efdee56647e047cb06efd"} device_1 | {"level":"info","message":"POST /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/websocket 200 27ms","method":"POST","requestID":"adabe41cf74efdee56647e047cb06efd","responseTime":27,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20d8c301701591bac6e77cdd343c86ca","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197436,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20d8c301701591bac6e77cdd343c86ca"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.055798907Z"}]},"request_id":"6eecd4b2-f25d-4a89-a23f-e349c36d3964","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.1492667} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20d8c301701591bac6e77cdd343c86ca"},"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":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7661914a-aba3-400b-84d5-3fc9a4e35026? 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":"20d8c301701591bac6e77cdd343c86ca"} device_1 | {"level":"info","message":"GET /devices/7661914a-aba3-400b-84d5-3fc9a4e35026? 200 19ms","method":"GET","requestID":"20d8c301701591bac6e77cdd343c86ca","responseTime":19,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1d2e14f169117779fb1690c9629e521","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262822,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1d2e14f169117779fb1690c9629e521"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.102272423Z"}]},"request_id":"946b41c9-7ab2-4a79-a5c7-a50d35d1b777","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.1760669} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1d2e14f169117779fb1690c9629e521"},"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/f9b7a030-6324-4b25-89b3-0383b923a879? 200 18ms","method":"GET","requestID":"d1d2e14f169117779fb1690c9629e521","responseTime":18,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9b7a030-6324-4b25-89b3-0383b923a879? 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":"d1d2e14f169117779fb1690c9629e521"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bf2e79c3d9d5c1f946889253d8ad14f7","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:35942","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.378615,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"bf2e79c3d9d5c1f946889253d8ad14f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"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:35942","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.792263,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"46a26030-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.497559,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46a28740-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.055798907Z"}]},"request_id":"25fc3c8d-513c-4656-bd3f-0d137194303c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.2629867} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46a26030-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.102272423Z"}]},"request_id":"4c75883c-0442-4e30-ba34-eea1af8570ae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.2642212} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46a28740-d584-11ee-94df-6bdcf2560c9b"},"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/7661914a-aba3-400b-84d5-3fc9a4e35026? 200 19ms","method":"GET","requestID":"46a26030-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f9b7a030-6324-4b25-89b3-0383b923a879? 200 19ms","method":"GET","requestID":"46a28740-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"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/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.813894,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"46ae4710-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360327,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"46ae9530-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.057343,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0122b8d2-0127-4e1b-95fc-7535b4709ec8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.342399} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46aee350-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling 200 20ms","method":"POST","requestID":"46aee350-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.055798907Z"}]},"request_id":"9d012dd8-03aa-457f-84b5-243b904c9ba2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3518133} 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":"46ae4710-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.102272423Z"}]},"request_id":"4224f2d6-9f54-40dc-9e79-eb930971e307","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3539267} 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":"46ae9530-d584-11ee-94df-6bdcf2560c9b"},"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":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe26aa122-8a19-4e96-8a06-8010ad0794a7#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe26aa122-8a19-4e96-8a06-8010ad0794a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"4e7f0e85-5fd6-418e-a52b-eb2ab4a005e8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.362505} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a27ce86-b501-4ecf-a3dc-c375f3ebca5e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3632128} device_1 | {"level":"info","message":"GET /devices/7661914a-aba3-400b-84d5-3fc9a4e35026? 200 36ms","method":"GET","requestID":"46ae4710-d584-11ee-94df-6bdcf2560c9b","responseTime":36,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} device_1 | {"level":"info","message":"GET /devices/f9b7a030-6324-4b25-89b3-0383b923a879? 200 35ms","method":"GET","requestID":"46ae9530-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879?"} 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":"bf2e79c3d9d5c1f946889253d8ad14f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3dfa2ad-2009-4c98-b537-d2c283aef03f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3674643} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.414124,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","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 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":"46b2b3e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling 200 18ms","method":"POST","requestID":"46b2b3e0-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0d05ca-38a7-4510-a2cb-134fa193350e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3758838} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.075335,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","rebac_allow":false,"scope_allow":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":"46b46190-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 188ms","method":"POST","requestID":"bf2e79c3d9d5c1f946889253d8ad14f7","responseTime":189,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf2e79c3d9d5c1f946889253d8ad14f7"} device_1 | {"level":"info","message":"POST /devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling 200 14ms","method":"POST","requestID":"46b46190-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb4391d8110fc56b8d6525ed632d3c3f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed76248c-2b8b-4c70-be49-e5c08ea005c4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.3930178} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.160975,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"fb4391d8110fc56b8d6525ed632d3c3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.226386,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","rebac_allow":false,"scope_allow":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":"46b6f9a0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.055798907Z"}]},"request_id":"d5863a53-97f5-488d-8799-9e383a88c9b8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.401675} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling 200 17ms","method":"POST","requestID":"46b6f9a0-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/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":"fb4391d8110fc56b8d6525ed632d3c3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"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":"afea4074-524e-49b7-ab26-ce12478eea2b"},{"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":"db0c8363-3690-4a94-82c7-65d3237148d4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e2b178cc-1eac-4d40-8262-9f4dea8bc9ae"}]},"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/f9b7a030-6324-4b25-89b3-0383b923a879"},{"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/7661914a-aba3-400b-84d5-3fc9a4e35026"}],"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":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7661914a-aba3-400b-84d5-3fc9a4e35026? 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":"fb4391d8110fc56b8d6525ed632d3c3f"} device_1 | {"level":"info","message":"GET /devices/7661914a-aba3-400b-84d5-3fc9a4e35026? 200 20ms","method":"GET","requestID":"fb4391d8110fc56b8d6525ed632d3c3f","responseTime":20,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.097696,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"46ba2df0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ee274c7d5160d32d07ef113bf183b0d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057527,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ee274c7d5160d32d07ef113bf183b0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"de4f23b7-bfb4-4c22-8e06-ea6baeba6aa0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.4257047} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7d8ea2a-d0d2-4f01-b9db-467ef4f679a0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.4259722} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:17.102272423Z"}]},"request_id":"5150412b-898d-4c39-9d52-14168d236dc8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.4267852} 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":"46ba2df0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ee274c7d5160d32d07ef113bf183b0d"},"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":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9b7a030-6324-4b25-89b3-0383b923a879? 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":"6ee274c7d5160d32d07ef113bf183b0d"} device_1 | {"level":"info","message":"GET /devices/f9b7a030-6324-4b25-89b3-0383b923a879? 200 18ms","method":"GET","requestID":"6ee274c7d5160d32d07ef113bf183b0d","responseTime":18,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879?"} 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/491f8783-1f1e-4b8e-acc9-46606e96c880'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 44ms","method":"POST","requestID":"46ba2df0-d584-11ee-94df-6bdcf2560c9b","responseTime":44,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bfd6798-9425-41bc-b09f-c4ad27e9bc5d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.4865775} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457403,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","rebac_allow":false,"scope_allow":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":"46c59fa0-d584-11ee-94df-6bdcf2560c9b"},"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/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling 200 9ms","method":"POST","requestID":"46c59fa0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0c82d4c-c1a8-4438-beec-c54948df5dee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.4965925} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.039123,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","rebac_allow":false,"scope_allow":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":"46c72640-d584-11ee-94df-6bdcf2560c9b"},"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/f9b7a030-6324-4b25-89b3-0383b923a879/signaling 200 8ms","method":"POST","requestID":"46c72640-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"85bf68dee4c0ee5cea3a46a23cd356c5","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/f9b7a030-6324-4b25-89b3-0383b923a879"},{"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/7661914a-aba3-400b-84d5-3fc9a4e35026"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"85bf68dee4c0ee5cea3a46a23cd356c5","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"85bf68dee4c0ee5cea3a46a23cd356c5"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","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/491f8783-1f1e-4b8e-acc9-46606e96c880' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a91754e760b712d2a64f038342e0fbb5","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/f9b7a030-6324-4b25-89b3-0383b923a879"},{"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/7661914a-aba3-400b-84d5-3fc9a4e35026"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F491f8783-1f1e-4b8e-acc9-46606e96c880","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3ec2aac-b022-41b1-bf81-d957f27fe9bf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.7290707} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.53819,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880","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":"46ea3ea0-d584-11ee-94df-6bdcf2560c9b"},"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/491f8783-1f1e-4b8e-acc9-46606e96c880 200 13ms","method":"GET","requestID":"46ea3ea0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"a91754e760b712d2a64f038342e0fbb5","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"a91754e760b712d2a64f038342e0fbb5"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b49eff4b-2a87-4292-8c5c-ae9a37aa7ec8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.7667212} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.922862,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","rebac_allow":false,"scope_allow":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":"46f00b00-d584-11ee-94df-6bdcf2560c9b"},"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/f9b7a030-6324-4b25-89b3-0383b923a879/signaling 200 14ms","method":"POST","requestID":"46f00b00-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a0682a8-cc51-41e3-b439-f73b7cd72f5c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.784238} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.879684,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","rebac_allow":false,"scope_allow":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":"46f2ca20-d584-11ee-94df-6bdcf2560c9b"},"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/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling 200 14ms","method":"POST","requestID":"46f2ca20-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e18e030b245e6d9d1262b21b7ec2e60","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.162446,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"7e18e030b245e6d9d1262b21b7ec2e60"},"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/e26aa122-8a19-4e96-8a06-8010ad0794a7"} experiment_1 | {"level":"info","message":"GET /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7 200 17ms","method":"GET","requestID":"7e18e030b245e6d9d1262b21b7ec2e60","responseTime":17,"status":200,"url":"/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e18e030b245e6d9d1262b21b7ec2e60"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"081d3f6ba80a818806c7e8ded10e4e78","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.224824,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"081d3f6ba80a818806c7e8ded10e4e78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.204981,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047459,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ1OX0.crHaSWfLAIi5Vt6Tl6GzkzNwRdeoJ1pfxyZ3XC4fogw"} 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":"46fe62e0-d584-11ee-94df-6bdcf2560c9b"},"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/491f8783-1f1e-4b8e-acc9-46606e96c880' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5106d847bb7363fe22ece4c2862fd8d9","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F491f8783-1f1e-4b8e-acc9-46606e96c880': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F491f8783-1f1e-4b8e-acc9-46606e96c880","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"b48fd42d-8432-461d-8217-1ce34706884c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.8800716} 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/f9b7a030-6324-4b25-89b3-0383b923a879"},{"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/7661914a-aba3-400b-84d5-3fc9a4e35026"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"}}},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d1c66bc-5c2a-408b-853a-621f6f284bae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.881614} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fdb39ed5d386c45af9dad45fdd119de7","responseTime":1,"status":200,"url":"/auth"} 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":"46fe62e0-d584-11ee-94df-6bdcf2560c9b"},"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":"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/f9b7a030-6324-4b25-89b3-0383b923a879"},{"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/7661914a-aba3-400b-84d5-3fc9a4e35026"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"491f8783-1f1e-4b8e-acc9-46606e96c880","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/491f8783-1f1e-4b8e-acc9-46606e96c880 204 52ms","method":"DELETE","requestID":"46fe62e0-d584-11ee-94df-6bdcf2560c9b","responseTime":52,"status":204,"url":"/peerconnections/491f8783-1f1e-4b8e-acc9-46606e96c880"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9b7a030-6324-4b25-89b3-0383b923a879","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9a16cb5-88a6-4386-a77e-5f10fe5f7094","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.9365697} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.57555,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9b7a030-6324-4b25-89b3-0383b923a879","object_type":"device","rebac_allow":false,"scope_allow":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":"470a22b0-d584-11ee-94df-6bdcf2560c9b"},"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/f9b7a030-6324-4b25-89b3-0383b923a879/signaling 200 12ms","method":"POST","requestID":"470a22b0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/f9b7a030-6324-4b25-89b3-0383b923a879/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe26aa122-8a19-4e96-8a06-8010ad0794a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe26aa122-8a19-4e96-8a06-8010ad0794a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"b1a2ed0c-0b1f-4230-9f4e-d2b78d84d600","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.9467976} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b066cfb-b57e-4f9a-85bd-2ed6ed6511cd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.9471638} 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":"081d3f6ba80a818806c7e8ded10e4e78"},"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:35942","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7661914a-aba3-400b-84d5-3fc9a4e35026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3d86b36-cc17-48bc-9698-b7e275536a98","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047459.9541342} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.910011,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7661914a-aba3-400b-84d5-3fc9a4e35026","object_type":"device","rebac_allow":false,"scope_allow":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":"470c6ca0-d584-11ee-94df-6bdcf2560c9b"},"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/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling 200 16ms","method":"POST","requestID":"470c6ca0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/7661914a-aba3-400b-84d5-3fc9a4e35026/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"081d3f6ba80a818806c7e8ded10e4e78"} experiment_1 | {"level":"info","message":"DELETE /experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7 204 176ms","method":"DELETE","requestID":"081d3f6ba80a818806c7e8ded10e4e78","responseTime":176,"status":204,"url":"/experiments/e26aa122-8a19-4e96-8a06-8010ad0794a7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"5106d847bb7363fe22ece4c2862fd8d9","responseTime":135,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"fdb39ed5d386c45af9dad45fdd119de7","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"5106d847bb7363fe22ece4c2862fd8d9"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdb39ed5d386c45af9dad45fdd119de7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2MH0.qmWG_foG7gsM7-nctrBA4mzA4nL0nBMCswt_ebF6x78","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"685fe5f3db94b6de29a302a2fbc55860","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"0.924","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7d4a68fcac2be6a11f1e94230d4bae99"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2130","request_time":"0.920","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8354934cb093d8872fb11839dd516557"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:20Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.037838,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:20Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047460,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2MH0.qmWG_foG7gsM7-nctrBA4mzA4nL0nBMCswt_ebF6x78"} 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":"685fe5f3db94b6de29a302a2fbc55860"},"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/f9b7a030-6324-4b25-89b3-0383b923a879' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06d71362-9574-43c1-a303-915188afb279","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0449817} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"685fe5f3db94b6de29a302a2fbc55860"},"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/7661914a-aba3-400b-84d5-3fc9a4e35026' 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d29bcf31-37d3-44cf-8cdf-ac3bf3ab8ad1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0499475} 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":"685fe5f3db94b6de29a302a2fbc55860"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"fbfeab31-f9d0-45e5-8ee9-90593f7739b2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0598385} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"548c5c1d-20ff-4f18-8eba-d769574b5114","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0599806} 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":"685fe5f3db94b6de29a302a2fbc55860"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.059805820Z"}]},"request_id":"616ffead-fa8a-4fc1-9eab-4af528f3fd35","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0638916} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"685fe5f3db94b6de29a302a2fbc55860"},"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":"685fe5f3db94b6de29a302a2fbc55860","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"685fe5f3db94b6de29a302a2fbc55860"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2MH0.qmWG_foG7gsM7-nctrBA4mzA4nL0nBMCswt_ebF6x78","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9749fc6a847b3d08b6c67178b584c633","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:20Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.718944,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:20Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047460,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2MH0.qmWG_foG7gsM7-nctrBA4mzA4nL0nBMCswt_ebF6x78"} 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":"9749fc6a847b3d08b6c67178b584c633"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cecd738c-865c-425b-bdf1-74decee755ea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0898545} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9749fc6a847b3d08b6c67178b584c633"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fa1f83e-04a8-42d5-90cd-acb56e7ddefb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.0946178} 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":"9749fc6a847b3d08b6c67178b584c633"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"75db1001-e8cf-484b-9fe3-e4e50501a713","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.1054626} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42c54942-376a-40cd-8999-68a5421f9c72","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.1060002} 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":"9749fc6a847b3d08b6c67178b584c633"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.105434640Z"}]},"request_id":"703a680e-0bbb-4dcf-aa30-5a8d2243bfc8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047460.1108806} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9749fc6a847b3d08b6c67178b584c633"},"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":"9749fc6a847b3d08b6c67178b584c633","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9749fc6a847b3d08b6c67178b584c633"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e32be2b129b54e41080f05d714d56194","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/websocket 200 1ms","method":"OPTIONS","requestID":"e32be2b129b54e41080f05d714d56194","responseTime":1,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/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":"e32be2b129b54e41080f05d714d56194"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"917beba009c04ccad45a6b92714061d2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943622,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"917beba009c04ccad45a6b92714061d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"265f35ab6d0a2dcd6e4d806eaebe882b","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/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":"265f35ab6d0a2dcd6e4d806eaebe882b"} device_1 | {"level":"info","message":"OPTIONS /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/websocket 200 1ms","method":"OPTIONS","requestID":"265f35ab6d0a2dcd6e4d806eaebe882b","responseTime":1,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b446aba5b0d925ba78545a8077c07a7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710769,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b446aba5b0d925ba78545a8077c07a7"},"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":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"917beba009c04ccad45a6b92714061d2"} device_1 | {"level":"info","message":"POST /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/websocket 200 29ms","method":"POST","requestID":"917beba009c04ccad45a6b92714061d2","responseTime":29,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/websocket 200 20ms","method":"POST","requestID":"6b446aba5b0d925ba78545a8077c07a7","responseTime":20,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/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":"6b446aba5b0d925ba78545a8077c07a7"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a67de93bbf7b95843a4b3b0c2eea12e8","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937157,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"a67de93bbf7b95843a4b3b0c2eea12e8"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.059805820Z"}]},"request_id":"82dec994-668c-4984-b517-6a2eb1ed3790","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.1271634} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a67de93bbf7b95843a4b3b0c2eea12e8"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? 200 10ms","method":"GET","requestID":"a67de93bbf7b95843a4b3b0c2eea12e8","responseTime":10,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a67de93bbf7b95843a4b3b0c2eea12e8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ece630d828b1e57a6e03a80618a3368","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817534,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ece630d828b1e57a6e03a80618a3368"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.105434640Z"}]},"request_id":"bdd892b6-0fee-4a83-9294-8c660c0d0a9a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.1439383} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ece630d828b1e57a6e03a80618a3368"},"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/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 200 12ms","method":"GET","requestID":"7ece630d828b1e57a6e03a80618a3368","responseTime":12,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 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":"7ece630d828b1e57a6e03a80618a3368"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac23f167c75e9fa8d08ce2cfa51f8275","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:35942","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.649333,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"ac23f167c75e9fa8d08ce2cfa51f8275"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"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:35942","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305458,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48656cf0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.199575,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"48659400-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.059805820Z"}]},"request_id":"1ad6fb49-c847-45ce-9ba9-1cd703b7b89f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.2200441} 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":"48656cf0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.105434640Z"}]},"request_id":"cf56e03f-1a79-4aac-a615-4ad40d08e013","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.2218013} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48659400-d584-11ee-94df-6bdcf2560c9b"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? 200 22ms","method":"GET","requestID":"48656cf0-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 200 21ms","method":"GET","requestID":"48659400-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"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:35942","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118391,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48723e30-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.556876,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"48728c50-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422234,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc4e423c-be47-494e-aad2-750ba382ffcb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3022459} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","rebac_allow":false,"scope_allow":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":"4872b360-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.059805820Z"}]},"request_id":"6c1315e6-658b-4e4f-9853-c50e982597ab","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3048205} 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":"48723e30-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.105434640Z"}]},"request_id":"608e72f8-8026-4610-8961-edd743c62a98","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.308421} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48728c50-d584-11ee-94df-6bdcf2560c9b"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling 200 17ms","method":"POST","requestID":"4872b360-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5ccf95b-0bab-4e3e-82c3-258422eabdba#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5ccf95b-0bab-4e3e-82c3-258422eabdba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"e774c6ab-bdc6-4f6e-9a71-065493071dde","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.314096} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd906dea-cb91-4fe5-8c4c-2dbcdacbad3a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.314573} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac23f167c75e9fa8d08ce2cfa51f8275"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} device_1 | {"level":"info","message":"GET /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? 200 28ms","method":"GET","requestID":"48723e30-d584-11ee-94df-6bdcf2560c9b","responseTime":28,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 200 27ms","method":"GET","requestID":"48728c50-d584-11ee-94df-6bdcf2560c9b","responseTime":27,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9649daf-a818-47d3-8f24-ea4e6eb68b5f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3218033} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.98109,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","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":"4875e7b0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"ac23f167c75e9fa8d08ce2cfa51f8275","responseTime":174,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling 200 14ms","method":"POST","requestID":"4875e7b0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d9f989f-353c-45ac-9a80-5bf134b05828","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3290763} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac23f167c75e9fa8d08ce2cfa51f8275"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.187155,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","rebac_allow":false,"scope_allow":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":"48772030-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad07af12141d80dd5ab650dcf649cee2","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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling 200 13ms","method":"POST","requestID":"48772030-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673819,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad07af12141d80dd5ab650dcf649cee2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.059805820Z"}]},"request_id":"9860513c-8d31-4b31-9e1b-0803e35bbb18","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3430872} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b805b7b1-40ff-45c6-a293-54d0cc59f676","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3433273} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad07af12141d80dd5ab650dcf649cee2"},"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:35942","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.788968,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","rebac_allow":false,"scope_allow":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":"48796a20-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? 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":"ad07af12141d80dd5ab650dcf649cee2"} device_1 | {"level":"info","message":"GET /devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854? 200 16ms","method":"GET","requestID":"ad07af12141d80dd5ab650dcf649cee2","responseTime":16,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling 200 13ms","method":"POST","requestID":"48796a20-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"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":"1ce0f406-d964-4d70-9ed7-72ffde864e19"},{"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":"18aad9bc-77b4-4272-99a7-d41a302d5fdc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7de27e66-56c6-4e9d-a7fc-0ac0683d174f"}]},"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/1225e2b2-99b9-4b8b-9cd5-1907293d766d"},{"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0cec851d495f850824247aa3079b1362","responseTime":2,"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:35942","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.926784,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"487bdb20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.502638,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"0cec851d495f850824247aa3079b1362"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:20.105434640Z"}]},"request_id":"411f1cbf-a49d-4194-ae56-4aaa8328e97c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3634222} 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":"0cec851d495f850824247aa3079b1362"},"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":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 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":"0cec851d495f850824247aa3079b1362"} device_1 | {"level":"info","message":"GET /devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d? 200 12ms","method":"GET","requestID":"0cec851d495f850824247aa3079b1362","responseTime":12,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f53220fd-ed08-47cf-8353-f25a6523a71b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.3690946} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3138df3-8714-42cd-aa25-c63862684e2a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.369361} 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":"487bdb20-d584-11ee-94df-6bdcf2560c9b"},"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/8e9a476e-380d-483f-aae3-23bf20387d45'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"487bdb20-d584-11ee-94df-6bdcf2560c9b","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1874aa8d-d8bd-4fbd-8370-92fac3b7ed19","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.4249632} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393349,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","rebac_allow":false,"scope_allow":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":"4885ed40-d584-11ee-94df-6bdcf2560c9b"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling 200 10ms","method":"POST","requestID":"4885ed40-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e5e5833-857a-4b57-9f15-f45461010d15","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.4356349} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.092023,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","rebac_allow":false,"scope_allow":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":"48879af0-d584-11ee-94df-6bdcf2560c9b"},"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/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling 200 7ms","method":"POST","requestID":"48879af0-d584-11ee-94df-6bdcf2560c9b","responseTime":7,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d5394f6ba0b32d53e49e68a3b528845","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/1225e2b2-99b9-4b8b-9cd5-1907293d766d"},{"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"7d5394f6ba0b32d53e49e68a3b528845","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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":"7d5394f6ba0b32d53e49e68a3b528845"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","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/8e9a476e-380d-483f-aae3-23bf20387d45' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67d31adbb2141cc4e1b800fdc147d07e","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/1225e2b2-99b9-4b8b-9cd5-1907293d766d"},{"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8e9a476e-380d-483f-aae3-23bf20387d45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"952fe61a-5e9d-443a-8127-c09a0e29cad8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.64601} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.192572,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45","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":"48a77f00-d584-11ee-94df-6bdcf2560c9b"},"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/8e9a476e-380d-483f-aae3-23bf20387d45 200 10ms","method":"GET","requestID":"48a77f00-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"67d31adbb2141cc4e1b800fdc147d07e","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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":"67d31adbb2141cc4e1b800fdc147d07e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f279f72-bec5-4cb7-a303-987aad396acc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.6810114} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.256985,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","rebac_allow":false,"scope_allow":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":"48acaf20-d584-11ee-94df-6bdcf2560c9b"},"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/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling 200 13ms","method":"POST","requestID":"48acaf20-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddbe6bda-80a0-46e7-b0f4-42d3f0b56941","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.6955836} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.408467,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","rebac_allow":false,"scope_allow":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":"48af2020-d584-11ee-94df-6bdcf2560c9b"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling 200 11ms","method":"POST","requestID":"48af2020-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5257cd9bbd59e046ad6950af62b46ff6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.204595,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"5257cd9bbd59e046ad6950af62b46ff6"},"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/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5257cd9bbd59e046ad6950af62b46ff6"} experiment_1 | {"level":"info","message":"GET /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba 200 16ms","method":"GET","requestID":"5257cd9bbd59e046ad6950af62b46ff6","responseTime":16,"status":200,"url":"/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f56b0dc5e5b8a70f14334f2ca5c5b90","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.916313,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"9f56b0dc5e5b8a70f14334f2ca5c5b90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.409647,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"48bb5520-d584-11ee-94df-6bdcf2560c9b"},"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/8e9a476e-380d-483f-aae3-23bf20387d45' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8e9a476e-380d-483f-aae3-23bf20387d45': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8e9a476e-380d-483f-aae3-23bf20387d45","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"511c86c9-4560-4e5f-8e96-38b931d37261","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.794598} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7e276d3-574f-48b2-8f36-92c3f0598c6e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.7951663} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a60f898853c48534bd3917487ba203e","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":"48bb5520-d584-11ee-94df-6bdcf2560c9b"},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4ac55265dbb9cf4fd44a1b1986116fb","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d"},{"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"}}},"level":"info","message":"received a callback"} 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/1225e2b2-99b9-4b8b-9cd5-1907293d766d"},{"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"8e9a476e-380d-483f-aae3-23bf20387d45","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/8e9a476e-380d-483f-aae3-23bf20387d45 204 51ms","method":"DELETE","requestID":"48bb5520-d584-11ee-94df-6bdcf2560c9b","responseTime":51,"status":204,"url":"/peerconnections/8e9a476e-380d-483f-aae3-23bf20387d45"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1225e2b2-99b9-4b8b-9cd5-1907293d766d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6cda6a9b-fae1-43eb-8914-b432d1a5f8de","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.8568523} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.301777,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d","object_type":"device","rebac_allow":false,"scope_allow":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":"48c76310-d584-11ee-94df-6bdcf2560c9b"},"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/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling 200 16ms","method":"POST","requestID":"48c76310-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5ccf95b-0bab-4e3e-82c3-258422eabdba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5ccf95b-0bab-4e3e-82c3-258422eabdba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"4ca9b111-ca7d-489a-924b-e4920cd99bdd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.8686116} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"587fe78c-837b-44d9-af9a-8ba9c1a30388","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.8691192} 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":"9f56b0dc5e5b8a70f14334f2ca5c5b90"},"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:35942","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3bc7ff3-908f-4a6c-9176-27fd8cc19854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6bbe1d7-3392-4b36-aa6d-471d04d5d6ee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.8771057} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.031676,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854","object_type":"device","rebac_allow":false,"scope_allow":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":"48ca7050-d584-11ee-94df-6bdcf2560c9b"},"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/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling 200 15ms","method":"POST","requestID":"48ca7050-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f56b0dc5e5b8a70f14334f2ca5c5b90"} experiment_1 | {"level":"info","message":"DELETE /experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba 204 183ms","method":"DELETE","requestID":"9f56b0dc5e5b8a70f14334f2ca5c5b90","responseTime":183,"status":204,"url":"/experiments/a5ccf95b-0bab-4e3e-82c3-258422eabdba"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"6a60f898853c48534bd3917487ba203e","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a60f898853c48534bd3917487ba203e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"c4ac55265dbb9cf4fd44a1b1986116fb","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4ac55265dbb9cf4fd44a1b1986116fb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0272ff71ddafa75fc955f8785f664736","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.912928,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"0272ff71ddafa75fc955f8785f664736"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2130","request_time":"0.858","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8e7211292c1dbcb74c39824f1d0f081f"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"0.867","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bca13110ca3eb8c61e876e58bf8f38aa"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e3bc7ff3-908f-4a6c-9176-27fd8cc19854' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1225e2b2-99b9-4b8b-9cd5-1907293d766d' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70549637-bec0-4bff-97b3-b292ecf6ebd0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.9728427} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0272ff71ddafa75fc955f8785f664736"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"696c4b94-7950-4bbc-8482-8a6e5caa8775","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.9774137} 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":"0272ff71ddafa75fc955f8785f664736"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"3e10d533-6752-4dc8-8f22-314b77f96a3d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.9866617} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10566288-2716-4ae4-a15d-41b498c57084","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.9868834} 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":"0272ff71ddafa75fc955f8785f664736"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:22.986640908Z"}]},"request_id":"69ca6949-8462-4305-87a1-464aa2122d15","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047462.990753} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0272ff71ddafa75fc955f8785f664736"},"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":"0272ff71ddafa75fc955f8785f664736","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0272ff71ddafa75fc955f8785f664736"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b19c943e0513f72b4c8f88c3625d6f91","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940927,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047462,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Mn0.2x4QIwt-5zJFzwgg9ioobYuuHrGPYOljsS34AOf1jLY"} 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":"b19c943e0513f72b4c8f88c3625d6f91"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d6ed5b00-b478-45cf-9360-e106bff6fe45","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.0154338} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19c943e0513f72b4c8f88c3625d6f91"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e620722-c60e-4e4a-bf73-7ce023aa3639","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.0207324} 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":"b19c943e0513f72b4c8f88c3625d6f91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"66b68a5d-0e08-4808-99af-3d0fb35e62e6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.0323565} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0affc833-a702-426e-ae58-c6f5d3e05963","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.0325897} 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":"b19c943e0513f72b4c8f88c3625d6f91"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"4d871392-9afa-4438-b984-6836d76f4130","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.0377638} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19c943e0513f72b4c8f88c3625d6f91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"b19c943e0513f72b4c8f88c3625d6f91","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b19c943e0513f72b4c8f88c3625d6f91"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2M30.OKWwsLNEjlGF3CUkrRxanoqJWRBOPbGt2GW7XjTqTeQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6f2137d615f9456a748d0ee6b4c10357","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165024,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047463,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2M30.OKWwsLNEjlGF3CUkrRxanoqJWRBOPbGt2GW7XjTqTeQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2137d615f9456a748d0ee6b4c10357"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"71d3621d-522d-496f-8204-e29957900633","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.5324998} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2137d615f9456a748d0ee6b4c10357"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b88e3642-cc1a-481c-9630-3bc14c34205c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.5378807} 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":"6f2137d615f9456a748d0ee6b4c10357"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"eca0e077-05be-482e-bedd-ebd6104d7ce7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047463.5657103} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2137d615f9456a748d0ee6b4c10357"},"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":"27/Feb/2024:15:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4677784-998a-4a6e-b274-704f1143be1f HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6f2137d615f9456a748d0ee6b4c10357"} device_1 | {"level":"info","message":"PATCH /devices/e4677784-998a-4a6e-b274-704f1143be1f 200 51ms","method":"PATCH","requestID":"6f2137d615f9456a748d0ee6b4c10357","responseTime":51,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2M30.OKWwsLNEjlGF3CUkrRxanoqJWRBOPbGt2GW7XjTqTeQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d0bc862702f02be8ade1ce36e3447da5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294007,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047463,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2M30.OKWwsLNEjlGF3CUkrRxanoqJWRBOPbGt2GW7XjTqTeQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0bc862702f02be8ade1ce36e3447da5"},"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":"27/Feb/2024:15:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4677784-998a-4a6e-b274-704f1143be1f/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.3","requestID":"d0bc862702f02be8ade1ce36e3447da5"} device_1 | {"level":"info","message":"POST /devices/e4677784-998a-4a6e-b274-704f1143be1f/websocket 200 18ms","method":"POST","requestID":"d0bc862702f02be8ade1ce36e3447da5","responseTime":18,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3adf33cbf3cb76cafd6ac3fd68c62c2e","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/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":"3adf33cbf3cb76cafd6ac3fd68c62c2e"} device_1 | {"level":"info","message":"OPTIONS /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/websocket 200 1ms","method":"OPTIONS","requestID":"3adf33cbf3cb76cafd6ac3fd68c62c2e","responseTime":1,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c97bcbca3e7b0fa5fcf26c7550e15c49","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163472,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c97bcbca3e7b0fa5fcf26c7550e15c49"},"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":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/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":"c97bcbca3e7b0fa5fcf26c7550e15c49"} device_1 | {"level":"info","message":"POST /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/websocket 200 33ms","method":"POST","requestID":"c97bcbca3e7b0fa5fcf26c7550e15c49","responseTime":33,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b18db661edf3d195e06ffdcd7666ea71","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939556,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"b18db661edf3d195e06ffdcd7666ea71"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:22.986640908Z"}]},"request_id":"b492c7c7-0c5a-4020-b227-2ef6eb57e994","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.110426} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b18db661edf3d195e06ffdcd7666ea71"},"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":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 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":"b18db661edf3d195e06ffdcd7666ea71"} device_1 | {"level":"info","message":"GET /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 200 21ms","method":"GET","requestID":"b18db661edf3d195e06ffdcd7666ea71","responseTime":21,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"067f796bf20dd57656424cb3647c99a3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.864176,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"067f796bf20dd57656424cb3647c99a3"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"d2b45725-00c3-4eea-a0d1-ab8d0865917d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.1320696} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"067f796bf20dd57656424cb3647c99a3"},"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/e4677784-998a-4a6e-b274-704f1143be1f? 200 15ms","method":"GET","requestID":"067f796bf20dd57656424cb3647c99a3","responseTime":15,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4677784-998a-4a6e-b274-704f1143be1f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"067f796bf20dd57656424cb3647c99a3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05f186b03719b2aa01d450e17cb1a4e6","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:35942","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.726596,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"05f186b03719b2aa01d450e17cb1a4e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"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:35942","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238512,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"4a2cbf70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884727,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"4a2ce680-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:22.986640908Z"}]},"request_id":"b291b614-ecee-4f7c-aef5-0c94cb4261f6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.2024016} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a2cbf70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"342f1cd5-db91-4c4b-b4a0-5dfe6a7216e7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.2033587} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a2ce680-d584-11ee-94df-6bdcf2560c9b"},"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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 200 16ms","method":"GET","requestID":"4a2cbf70-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e4677784-998a-4a6e-b274-704f1143be1f? 200 16ms","method":"GET","requestID":"4a2ce680-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"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:35942","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.927924,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"4a37bbf0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396358,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"4a380a10-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.788725,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"951fb90b-478a-4403-8c8b-705fb68e8760","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.2771108} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","rebac_allow":false,"scope_allow":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":"4a385830-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling 200 24ms","method":"POST","requestID":"4a385830-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:22.986640908Z"}]},"request_id":"12adbb5e-ee3a-480b-9559-61648cce0cbc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.2905738} 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":"4a37bbf0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"c61cf423-8c43-4e09-b5fd-952ca5fbb620","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.2928874} 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":"4a380a10-d584-11ee-94df-6bdcf2560c9b"},"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 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 200 41ms","method":"GET","requestID":"4a37bbf0-d584-11ee-94df-6bdcf2560c9b","responseTime":41,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e4677784-998a-4a6e-b274-704f1143be1f? 200 46ms","method":"GET","requestID":"4a380a10-d584-11ee-94df-6bdcf2560c9b","responseTime":46,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"551bc063-4356-4065-9bd1-619c493f85cf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3046196} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9db89e29-82fc-4661-a05d-2489dda47fb4#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9db89e29-82fc-4661-a05d-2489dda47fb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"cf4d901d-3cc4-4c7d-a9f7-0b839c010e7f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3091483} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dda49afb-bc5b-41b6-88be-bcc53fa3245e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3108008} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.862184,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","rebac_allow":false,"scope_allow":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":"4a3cec10-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} 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":"05f186b03719b2aa01d450e17cb1a4e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":39}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e4677784-998a-4a6e-b274-704f1143be1f/signaling 200 24ms","method":"POST","requestID":"4a3cec10-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e39f62e-bf72-4736-8281-1647e57fa4f2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.325286} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.802435,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","rebac_allow":false,"scope_allow":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":"4a3fab30-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 187ms","method":"POST","requestID":"05f186b03719b2aa01d450e17cb1a4e6","responseTime":187,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling 200 19ms","method":"POST","requestID":"4a3fab30-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05f186b03719b2aa01d450e17cb1a4e6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8018f89648ee9b025ecd48359437ec11","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d300a85-2d8a-43db-8a3d-147f1786c991","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3449633} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.557091,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","rebac_allow":false,"scope_allow":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":"4a430690-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.213603,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"8018f89648ee9b025ecd48359437ec11"},"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/e4677784-998a-4a6e-b274-704f1143be1f/signaling 200 19ms","method":"POST","requestID":"4a430690-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:22.986640908Z"}]},"request_id":"01d50820-da15-4882-b29c-31b041dec855","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3570974} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"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":"83eba757-96c4-4256-98d0-06f10ef850c8"},{"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":"dc1c9d54-46b9-4f31-a2e0-4d32e5b57158"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6406ab4b-398d-4394-8253-7b97a8fa41e1"}]},"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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf"},{"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/e4677784-998a-4a6e-b274-704f1143be1f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8018f89648ee9b025ecd48359437ec11"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 200 23ms","method":"GET","requestID":"8018f89648ee9b025ecd48359437ec11","responseTime":23,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf? 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":"8018f89648ee9b025ecd48359437ec11"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.207717,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a46b010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ecd9a40040bcc86611bb4e8c69a1f7b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067672,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ecd9a40040bcc86611bb4e8c69a1f7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"ec5f637a-9378-427b-9ba2-1a2f13fa1dc9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3830779} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f213e71d-de7b-4f2e-b1a6-23a3e48e13b5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3834825} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:23.032334955Z"}]},"request_id":"9b6cee1f-3b7a-4c37-93d1-e5ffee86bdba","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.3868787} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a46b010-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ecd9a40040bcc86611bb4e8c69a1f7b"},"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":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4677784-998a-4a6e-b274-704f1143be1f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ecd9a40040bcc86611bb4e8c69a1f7b"} device_1 | {"level":"info","message":"GET /devices/e4677784-998a-4a6e-b274-704f1143be1f? 200 22ms","method":"GET","requestID":"6ecd9a40040bcc86611bb4e8c69a1f7b","responseTime":22,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f?"} 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/827592c4-7c2d-4d23-9561-1869002b4195'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"4a46b010-d584-11ee-94df-6bdcf2560c9b","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"008f639d-c463-4837-a2e7-5fcaa7248a9d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.443543} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.68445,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","rebac_allow":false,"scope_allow":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":"4a5296f0-d584-11ee-94df-6bdcf2560c9b"},"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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling 200 9ms","method":"POST","requestID":"4a5296f0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f08a2622-a9e5-4e7f-ab7d-774bdfd26c52","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.4553246} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607745,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","rebac_allow":false,"scope_allow":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":"4a5444a0-d584-11ee-94df-6bdcf2560c9b"},"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/e4677784-998a-4a6e-b274-704f1143be1f/signaling 200 11ms","method":"POST","requestID":"4a5444a0-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"39347627820c6ee06c75ba83dbaa4746","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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf"},{"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/e4677784-998a-4a6e-b274-704f1143be1f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"39347627820c6ee06c75ba83dbaa4746","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"39347627820c6ee06c75ba83dbaa4746"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","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/827592c4-7c2d-4d23-9561-1869002b4195' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0590eaec7fa409a04b70f5d1c200ef5e","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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf"},{"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/e4677784-998a-4a6e-b274-704f1143be1f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F827592c4-7c2d-4d23-9561-1869002b4195","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8471ee7-99ac-4c75-81d5-afa8d0d42cf3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.5361736} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.692207,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195","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":"4a60a0b0-d584-11ee-94df-6bdcf2560c9b"},"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/827592c4-7c2d-4d23-9561-1869002b4195 200 9ms","method":"GET","requestID":"4a60a0b0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"0590eaec7fa409a04b70f5d1c200ef5e","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"0590eaec7fa409a04b70f5d1c200ef5e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6941b2e9-5815-448c-98ae-79c7478b0dfc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.5649214} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.009608,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","rebac_allow":false,"scope_allow":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":"4a64e670-d584-11ee-94df-6bdcf2560c9b"},"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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling 200 14ms","method":"POST","requestID":"4a64e670-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7d4b392-482b-4c6a-993f-24aae02d4799","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.581822} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.223046,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","rebac_allow":false,"scope_allow":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":"4a677e80-d584-11ee-94df-6bdcf2560c9b"},"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/e4677784-998a-4a6e-b274-704f1143be1f/signaling 200 13ms","method":"POST","requestID":"4a677e80-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"20d737779d3d2550b3d4bd126e4b99e4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.113507,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"20d737779d3d2550b3d4bd126e4b99e4"},"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/9db89e29-82fc-4661-a05d-2489dda47fb4"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4 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":"20d737779d3d2550b3d4bd126e4b99e4"} experiment_1 | {"level":"info","message":"GET /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4 200 18ms","method":"GET","requestID":"20d737779d3d2550b3d4bd126e4b99e4","responseTime":18,"status":200,"url":"/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa6c7f1465d8b03926c73d53261a353c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320839,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"fa6c7f1465d8b03926c73d53261a353c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.373039,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"4a753a20-d584-11ee-94df-6bdcf2560c9b"},"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/827592c4-7c2d-4d23-9561-1869002b4195' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"15c49a8f34e72912bb597803a85ecc35","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf"},{"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/e4677784-998a-4a6e-b274-704f1143be1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b35af64d96f4ba0c39222230254c4691","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/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf"},{"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/e4677784-998a-4a6e-b274-704f1143be1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F827592c4-7c2d-4d23-9561-1869002b4195': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F827592c4-7c2d-4d23-9561-1869002b4195","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"d537c103-9b70-4de1-8313-7ba5050b7051","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.7044253} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0366a692-5846-490c-aa19-9a0b43cfef25","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.705106} 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":"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":"4a753a20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device_1 | {"data":{"peerconnection":"827592c4-7c2d-4d23-9561-1869002b4195","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/827592c4-7c2d-4d23-9561-1869002b4195 204 71ms","method":"DELETE","requestID":"4a753a20-d584-11ee-94df-6bdcf2560c9b","responseTime":71,"status":204,"url":"/peerconnections/827592c4-7c2d-4d23-9561-1869002b4195"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09baf4c6-c7ce-4adf-811c-8b668af191e1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.7734463} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.864593,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a839200-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling 200 23ms","method":"POST","requestID":"4a839200-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9db89e29-82fc-4661-a05d-2489dda47fb4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9db89e29-82fc-4661-a05d-2489dda47fb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"c5507a5e-126d-4edd-857b-a24885bcc6dc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.7859733} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a28a006c-a43c-4432-8db7-0248f331e7e2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.7862685} 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":"fa6c7f1465d8b03926c73d53261a353c"},"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:35942","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4677784-998a-4a6e-b274-704f1143be1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"819697e4-7cc4-4c66-8ed9-72e30fb7762b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.7959573} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.411599,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f","object_type":"device","rebac_allow":false,"scope_allow":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":"4a8789a0-d584-11ee-94df-6bdcf2560c9b"},"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/e4677784-998a-4a6e-b274-704f1143be1f/signaling 200 20ms","method":"POST","requestID":"4a8789a0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/e4677784-998a-4a6e-b274-704f1143be1f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa6c7f1465d8b03926c73d53261a353c"} experiment_1 | {"level":"info","message":"DELETE /experiments/9db89e29-82fc-4661-a05d-2489dda47fb4 204 203ms","method":"DELETE","requestID":"fa6c7f1465d8b03926c73d53261a353c","responseTime":203,"status":204,"url":"/experiments/9db89e29-82fc-4661-a05d-2489dda47fb4"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2079","request_time":"2.255","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4eac8f719bf82911b249b46fa3762ae3"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"15c49a8f34e72912bb597803a85ecc35"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"b35af64d96f4ba0c39222230254c4691"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14b0486f0851c4bdf238f95de1b46605","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"15c49a8f34e72912bb597803a85ecc35","responseTime":157,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"b35af64d96f4ba0c39222230254c4691","responseTime":157,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.786","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4ad91b2ebbb5257c4df5e4d8269c6a6"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.91633,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4677784-998a-4a6e-b274-704f1143be1f' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14b0486f0851c4bdf238f95de1b46605"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3e1109a5-2b0d-4d04-ad7d-9fbbe73c66cf' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5881f82d-0dfd-4ac2-9af6-03af42196897","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.8814366} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14b0486f0851c4bdf238f95de1b46605"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a9819d6-252c-4335-8999-cc3489e458a3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.8874648} 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":"14b0486f0851c4bdf238f95de1b46605"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8b7e2bc9-06b0-40f3-b398-e48a279d7015","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.8983564} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a89224a4-7681-48cc-a4b9-778572249f36","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.8985012} 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":"14b0486f0851c4bdf238f95de1b46605"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.898334112Z"}]},"request_id":"8589923e-a9fd-47f6-a2a4-28c5bdb8aa37","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9044256} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14b0486f0851c4bdf238f95de1b46605"},"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 48ms","method":"POST","requestID":"14b0486f0851c4bdf238f95de1b46605","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14b0486f0851c4bdf238f95de1b46605"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87b7df0215290be55a6a6d2a90b4ae67","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.715465,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047465,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2NX0.Lh36tThtrLDDgvEcpSRgEBA_VUUQUhmdR84OzTbZ74g"} 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":"87b7df0215290be55a6a6d2a90b4ae67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6373e522-7027-405e-915e-d57bfb2f8d98","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9287746} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b7df0215290be55a6a6d2a90b4ae67"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3c47f74-5877-45a6-b44f-5918a50fead3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9339385} 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":"87b7df0215290be55a6a6d2a90b4ae67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d8981815-7816-4449-a00d-6df803d55473","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9437099} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b96f751-c7e3-419b-a2d5-4ab66eb72e40","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9439037} 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":"87b7df0215290be55a6a6d2a90b4ae67"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"bc6c3c38-cd27-4bc7-b730-b83d11b95b59","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047465.9494164} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b7df0215290be55a6a6d2a90b4ae67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"87b7df0215290be55a6a6d2a90b4ae67","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87b7df0215290be55a6a6d2a90b4ae67"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Nn0.GtJB-i4MUt8p_-zAlDcCxcKYGUlPWmwc-effwgZrkT0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52aafa453f241b072f3f2a3dea7aff7d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:26Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298586,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:26Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047466,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Nn0.GtJB-i4MUt8p_-zAlDcCxcKYGUlPWmwc-effwgZrkT0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52aafa453f241b072f3f2a3dea7aff7d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"7a5e2d90-af2f-4efb-8746-05ed9137770a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047466.4405396} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52aafa453f241b072f3f2a3dea7aff7d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08ba0a0a-abe2-4d0e-9c6b-a75cf455bb64","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047466.4481392} 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":"52aafa453f241b072f3f2a3dea7aff7d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"af17566d-2423-4c0f-bf74-e098071df9e5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047466.4749753} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52aafa453f241b072f3f2a3dea7aff7d"},"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":"27/Feb/2024:15:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ab449f1d-f141-4775-9429-15b67f07a3a3 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"52aafa453f241b072f3f2a3dea7aff7d"} device_1 | {"level":"info","message":"PATCH /devices/ab449f1d-f141-4775-9429-15b67f07a3a3 200 53ms","method":"PATCH","requestID":"52aafa453f241b072f3f2a3dea7aff7d","responseTime":53,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Nn0.GtJB-i4MUt8p_-zAlDcCxcKYGUlPWmwc-effwgZrkT0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ece26a86ed1c9bd2cb5725db09666bed","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:26Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27015,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:26Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047466,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2Nn0.GtJB-i4MUt8p_-zAlDcCxcKYGUlPWmwc-effwgZrkT0"} 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":"ece26a86ed1c9bd2cb5725db09666bed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/ab449f1d-f141-4775-9429-15b67f07a3a3/websocket 200 21ms","method":"POST","requestID":"ece26a86ed1c9bd2cb5725db09666bed","responseTime":21,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ab449f1d-f141-4775-9429-15b67f07a3a3/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.3","requestID":"ece26a86ed1c9bd2cb5725db09666bed"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"631a424b646f248cefecd50c22c65cfe","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/websocket 200 1ms","method":"OPTIONS","requestID":"631a424b646f248cefecd50c22c65cfe","responseTime":1,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/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":"631a424b646f248cefecd50c22c65cfe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2N30.AmtG7DdsR8_RLaIH4Hj2U0tbfoSE-N3YfuCGx3-59S8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e52b9bc8e0150777f59c28055ff79c68","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238465,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047467,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2N30.AmtG7DdsR8_RLaIH4Hj2U0tbfoSE-N3YfuCGx3-59S8"} 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":"e52b9bc8e0150777f59c28055ff79c68"},"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":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e52b9bc8e0150777f59c28055ff79c68"} device_1 | {"level":"info","message":"POST /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/websocket 200 35ms","method":"POST","requestID":"e52b9bc8e0150777f59c28055ff79c68","responseTime":35,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba56eded3c3dab158bd312f6c3a01e9f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.668134,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"ba56eded3c3dab158bd312f6c3a01e9f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.898334112Z"}]},"request_id":"d4d5597a-3463-4a6c-8e77-0d7f32102610","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.0628426} 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":"ba56eded3c3dab158bd312f6c3a01e9f"},"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":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7586275b-8748-480a-a9c2-60e4066e1c3c? 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":"ba56eded3c3dab158bd312f6c3a01e9f"} device_1 | {"level":"info","message":"GET /devices/7586275b-8748-480a-a9c2-60e4066e1c3c? 200 23ms","method":"GET","requestID":"ba56eded3c3dab158bd312f6c3a01e9f","responseTime":23,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db85b1cb71da72a0a2d5f575da2213b1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.304524,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db85b1cb71da72a0a2d5f575da2213b1"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"cd3864b3-d6b0-478c-8fb3-b5d2903e6757","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.0907018} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db85b1cb71da72a0a2d5f575da2213b1"},"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":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db85b1cb71da72a0a2d5f575da2213b1"} device_1 | {"level":"info","message":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? 200 18ms","method":"GET","requestID":"db85b1cb71da72a0a2d5f575da2213b1","responseTime":18,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb884e9f54500d1ec325e42c99d7b433","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:35942","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.364433,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"bb884e9f54500d1ec325e42c99d7b433"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"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:35942","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267572,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bf152d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143982,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"4bf1a0f0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.898334112Z"}]},"request_id":"c27ff7e2-0ea1-400d-be56-07f6a7120e07","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.1736171} 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":"4bf152d0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"29dbf1d4-a30c-42f8-9302-f4c9ffcf35a3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.1761928} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bf1a0f0-d584-11ee-94df-6bdcf2560c9b"},"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/7586275b-8748-480a-a9c2-60e4066e1c3c? 200 27ms","method":"GET","requestID":"4bf152d0-d584-11ee-94df-6bdcf2560c9b","responseTime":27,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? 200 26ms","method":"GET","requestID":"4bf1a0f0-d584-11ee-94df-6bdcf2560c9b","responseTime":26,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"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/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347629,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"4bfdaee0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230042,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"4bfdfd00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.32841,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12804ff5-cf08-434c-8975-627255abf32b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.25005} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","rebac_allow":false,"scope_allow":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":"4bfe4b20-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling 200 21ms","method":"POST","requestID":"4bfe4b20-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.898334112Z"}]},"request_id":"972a9b89-d06e-4135-9d53-cf0a21f2b185","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2620478} 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":"4bfdaee0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"baa6c64a-5ffb-4ac7-99f0-1b472634e026","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2644854} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"4bfdfd00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c66c639-d28f-4eeb-ba29-bdfa8d30c879#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c66c639-d28f-4eeb-ba29-bdfa8d30c879","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"a1ab77a6-321c-4426-b3ec-b39d495ec7e7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2683768} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80096eed-bd0f-4b32-9fbb-0dabaf0d2544","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2687924} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7586275b-8748-480a-a9c2-60e4066e1c3c? 200 35ms","method":"GET","requestID":"4bfdaee0-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c?"} 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":"bb884e9f54500d1ec325e42c99d7b433"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} device_1 | {"level":"info","message":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? 200 35ms","method":"GET","requestID":"4bfdfd00-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89748f68-d023-4d8e-89e6-4a1d19bee09f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2757819} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.075514,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","rebac_allow":false,"scope_allow":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":"4c021bb0-d584-11ee-94df-6bdcf2560c9b"},"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/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling 200 16ms","method":"POST","requestID":"4c021bb0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"bb884e9f54500d1ec325e42c99d7b433","responseTime":186,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c49158cc-fca9-4f79-8422-fd49fa60c227","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.2918909} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.730786,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb884e9f54500d1ec325e42c99d7b433"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","rebac_allow":false,"scope_allow":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":"4c04dad0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling 200 13ms","method":"POST","requestID":"4c04dad0-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75b3f9fa3b8be2ba81ea97878b0d9714","responseTime":4,"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:35942","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094637,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b3f9fa3b8be2ba81ea97878b0d9714"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85557675-964c-4415-84f4-23294d79438a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3065705} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.414122,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","rebac_allow":false,"scope_allow":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":"4c074bd0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.898334112Z"}]},"request_id":"f4c1954e-a2bd-492f-9253-edc2bc7fa4e7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3093193} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b3f9fa3b8be2ba81ea97878b0d9714"},"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/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling 200 14ms","method":"POST","requestID":"4c074bd0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7586275b-8748-480a-a9c2-60e4066e1c3c? 200 17ms","method":"GET","requestID":"75b3f9fa3b8be2ba81ea97878b0d9714","responseTime":17,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7586275b-8748-480a-a9c2-60e4066e1c3c? 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":"75b3f9fa3b8be2ba81ea97878b0d9714"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"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":"9748e6e1-fd95-4788-a4ae-69ea0d024b16"},{"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":"66957c79-4bca-420c-af4b-2ed8d0ad0b42"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8a07d5f1-4367-4876-ac5d-9a7467bff78e"}]},"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/ab449f1d-f141-4775-9429-15b67f07a3a3"},{"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/7586275b-8748-480a-a9c2-60e4066e1c3c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b9e79fe1683797b345d34a09a2d67c1a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.781543,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} 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":"4c09e3e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741774,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047468,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OH0.jg29BKetkQ_b4rr2Lc0FNQGPI7AQzAJCb2cABCK9Uf0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9e79fe1683797b345d34a09a2d67c1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:25.943686046Z"}]},"request_id":"ef612d99-3aa2-4a43-84e9-997896eefac0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3305235} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9e79fe1683797b345d34a09a2d67c1a"},"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":"27/Feb/2024:15:24:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9e79fe1683797b345d34a09a2d67c1a"} device_1 | {"level":"info","message":"GET /devices/ab449f1d-f141-4775-9429-15b67f07a3a3? 200 12ms","method":"GET","requestID":"b9e79fe1683797b345d34a09a2d67c1a","responseTime":12,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f82360f7-72b4-49be-ab13-e3048760a973","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3349428} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"709ca0b3-bab1-4800-b20c-48b8b22f0296","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3352432} 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":"4c09e3e0-d584-11ee-94df-6bdcf2560c9b"},"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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38'"} 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":"4c09e3e0-d584-11ee-94df-6bdcf2560c9b","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/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b259ca9-6ed7-4e09-be91-92b672cbabdf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.3888168} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.180642,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","rebac_allow":false,"scope_allow":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":"4c13cef0-d584-11ee-94df-6bdcf2560c9b"},"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/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling 200 11ms","method":"POST","requestID":"4c13cef0-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bfceb96-ead2-4b98-a680-2da4f6fc679f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047468.4009678} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.650035,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:28Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","rebac_allow":false,"scope_allow":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":"4c15a3b0-d584-11ee-94df-6bdcf2560c9b"},"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/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling 200 10ms","method":"POST","requestID":"4c15a3b0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8efc7f89f37389ac71c67ee5ef54a0e1","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/ab449f1d-f141-4775-9429-15b67f07a3a3"},{"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/7586275b-8748-480a-a9c2-60e4066e1c3c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"8efc7f89f37389ac71c67ee5ef54a0e1","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"8efc7f89f37389ac71c67ee5ef54a0e1"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6373d9d250ac7c683a03e74dbec24dc6","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/ab449f1d-f141-4775-9429-15b67f07a3a3"},{"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/7586275b-8748-480a-a9c2-60e4066e1c3c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14e84abd-87e0-487d-948d-6c7f18918daf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.4947467} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.929567,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","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":"4cbc1ce0-d584-11ee-94df-6bdcf2560c9b"},"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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38 200 16ms","method":"GET","requestID":"4cbc1ce0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"6373d9d250ac7c683a03e74dbec24dc6","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"6373d9d250ac7c683a03e74dbec24dc6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01dfeb4a-bdd9-4217-93e0-bdface742c87","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.5348787} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.327722,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","rebac_allow":false,"scope_allow":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":"4cc25e70-d584-11ee-94df-6bdcf2560c9b"},"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/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling 200 15ms","method":"POST","requestID":"4cc25e70-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ef926fb-e0a2-4787-ac3c-5bc029d611b1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.552005} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.849904,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4","level":"info","message":"auth send jwt"} 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":"4cc51d90-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"139359676b242c958d008b93f3295621","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling 200 14ms","method":"POST","requestID":"4cc51d90-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.317241,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047469,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4"} 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":"139359676b242c958d008b93f3295621"},"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/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"139359676b242c958d008b93f3295621"} experiment_1 | {"level":"info","message":"GET /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879 200 13ms","method":"GET","requestID":"139359676b242c958d008b93f3295621","responseTime":13,"status":200,"url":"/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d0829689dd36d3b01de862e9e437dffe","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.296668,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047469,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4"} 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":"d0829689dd36d3b01de862e9e437dffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680755,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047469,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4"} 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":"4ccce5c0-d584-11ee-94df-6bdcf2560c9b"},"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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39418d9fd2b7b3ed3c5f47f4f3ba7f09","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"34155253-7eb9-4a23-b9b8-a1ef5a139652","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.6181283} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1f922e0-d285-4d01-9e30-7e2cc2507f31","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.618458} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"242b953024bcdbcdd01fb99c98671971","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":"4ccce5c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/ab449f1d-f141-4775-9429-15b67f07a3a3"},{"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/7586275b-8748-480a-a9c2-60e4066e1c3c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"}}},"level":"info","message":"received a callback"} 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/ab449f1d-f141-4775-9429-15b67f07a3a3"},{"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/7586275b-8748-480a-a9c2-60e4066e1c3c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38","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/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38 204 42ms","method":"DELETE","requestID":"4ccce5c0-d584-11ee-94df-6bdcf2560c9b","responseTime":42,"status":204,"url":"/peerconnections/33b2e16b-d4b9-4a99-b9ba-5b5d0d0ceb38"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab449f1d-f141-4775-9429-15b67f07a3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12d53616-429a-411d-9fd6-d385f56aa9de","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.6648855} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605347,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3","object_type":"device","rebac_allow":false,"scope_allow":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":"4cd6a9c0-d584-11ee-94df-6bdcf2560c9b"},"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/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling 200 10ms","method":"POST","requestID":"4cd6a9c0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/ab449f1d-f141-4775-9429-15b67f07a3a3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c66c639-d28f-4eeb-ba29-bdfa8d30c879': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1c66c639-d28f-4eeb-ba29-bdfa8d30c879","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"c1992d75-302b-4e6a-a918-4eeb82cdb0f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.6738818} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"575b8204-1808-410f-916c-f2b2033389de","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.6742213} 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":"d0829689dd36d3b01de862e9e437dffe"},"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:35942","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7586275b-8748-480a-a9c2-60e4066e1c3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2b0e72e-92d8-4c99-bd76-e28819a98df1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.679015} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.04543,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c","object_type":"device","rebac_allow":false,"scope_allow":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":"4cd87e80-d584-11ee-94df-6bdcf2560c9b"},"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/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling 200 13ms","method":"POST","requestID":"4cd87e80-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/7586275b-8748-480a-a9c2-60e4066e1c3c/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0829689dd36d3b01de862e9e437dffe"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2395","request_time":"3.227","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c936d9d93328ceeaa4e26025319055cf"} experiment_1 | {"level":"info","message":"DELETE /experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879 204 154ms","method":"DELETE","requestID":"d0829689dd36d3b01de862e9e437dffe","responseTime":154,"status":204,"url":"/experiments/1c66c639-d28f-4eeb-ba29-bdfa8d30c879"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"39418d9fd2b7b3ed3c5f47f4f3ba7f09","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"39418d9fd2b7b3ed3c5f47f4f3ba7f09"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"242b953024bcdbcdd01fb99c98671971","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"242b953024bcdbcdd01fb99c98671971"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d6989364298d9b53d3de6e5a33f09690","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2158","request_time":"1.719","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7d73f1938dcb0d5eafa14bd496678c34"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ab449f1d-f141-4775-9429-15b67f07a3a3' closed"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.057012,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047469,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4"} 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":"d6989364298d9b53d3de6e5a33f09690"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7586275b-8748-480a-a9c2-60e4066e1c3c' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41a9a491-9857-4537-a174-84838eea5e9d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.7692828} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6989364298d9b53d3de6e5a33f09690"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"670ac50b-fda5-4ada-84a8-c274637b2566","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.7755451} 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":"d6989364298d9b53d3de6e5a33f09690"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d3454184-59c2-460a-9ded-66a8e7b376fa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.7860625} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b00f9af-635d-4860-a488-8ba141c44afa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.786181} 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":"d6989364298d9b53d3de6e5a33f09690"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"7c6f4968-9bb3-493e-af4f-725f8453ab83","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.7914555} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6989364298d9b53d3de6e5a33f09690"},"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 52ms","method":"POST","requestID":"d6989364298d9b53d3de6e5a33f09690","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6989364298d9b53d3de6e5a33f09690"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93692737ffda9ae9cb593a2296530edd","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.749709,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047469,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ2OX0.VzKyz9LTKUwQpvQBf3dzfWgndfUcG4qF-uPV0m3I0b4"} 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":"93692737ffda9ae9cb593a2296530edd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a849d264-db05-4f06-a36c-3c5707039fef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.8155365} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93692737ffda9ae9cb593a2296530edd"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25eaa2e8-0492-4e51-92cb-b6ee074976f8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.8207145} 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":"93692737ffda9ae9cb593a2296530edd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"2e311335-4354-47f5-890d-585206899013","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.8329203} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cf88342-ef2f-4c66-9ae8-f468fe9f594b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.833185} 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":"93692737ffda9ae9cb593a2296530edd"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.832890746Z"}]},"request_id":"1be218c3-e031-4b5a-b79b-347ca86b7037","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047469.8381662} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93692737ffda9ae9cb593a2296530edd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"93692737ffda9ae9cb593a2296530edd","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93692737ffda9ae9cb593a2296530edd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MH0.fMq9uz01_S95LJwf-HogjJfwSkf4gFf_GEmrM8xGqaU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6f8e9a4b357b7023f4b7e7013ff9cec6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.351756,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047470,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MH0.fMq9uz01_S95LJwf-HogjJfwSkf4gFf_GEmrM8xGqaU"} 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":"6f8e9a4b357b7023f4b7e7013ff9cec6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"b39705fd-e904-494e-9e68-57aa0beaa3b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047470.3293338} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f8e9a4b357b7023f4b7e7013ff9cec6"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70b16d58-a0a6-4d74-b9d4-1f530cb7ed57","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047470.3367414} 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":"6f8e9a4b357b7023f4b7e7013ff9cec6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"791fa733-34c9-44d7-9f4c-7df96f9bb179","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047470.3639567} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f8e9a4b357b7023f4b7e7013ff9cec6"},"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":"27/Feb/2024:15:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6f8e9a4b357b7023f4b7e7013ff9cec6"} device_1 | {"level":"info","message":"PATCH /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db 200 54ms","method":"PATCH","requestID":"6f8e9a4b357b7023f4b7e7013ff9cec6","responseTime":54,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MH0.fMq9uz01_S95LJwf-HogjJfwSkf4gFf_GEmrM8xGqaU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c1e25ba22f5a805be9cd5629fa297def","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265377,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047470,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MH0.fMq9uz01_S95LJwf-HogjJfwSkf4gFf_GEmrM8xGqaU"} 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":"c1e25ba22f5a805be9cd5629fa297def"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/websocket 200 23ms","method":"POST","requestID":"c1e25ba22f5a805be9cd5629fa297def","responseTime":23,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c1e25ba22f5a805be9cd5629fa297def"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b461deb06f2c88487f1e8a6daef7db88","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/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":"b461deb06f2c88487f1e8a6daef7db88"} device_1 | {"level":"info","message":"OPTIONS /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/websocket 200 1ms","method":"OPTIONS","requestID":"b461deb06f2c88487f1e8a6daef7db88","responseTime":1,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d27305fb0153b79a1eb1f76fd6b6c5e6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270528,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"d27305fb0153b79a1eb1f76fd6b6c5e6"},"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":"27/Feb/2024:15:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d27305fb0153b79a1eb1f76fd6b6c5e6"} device_1 | {"level":"info","message":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/websocket 200 34ms","method":"POST","requestID":"d27305fb0153b79a1eb1f76fd6b6c5e6","responseTime":34,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79da3fb7f04e1bc5c6426ac68097efc8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.598577,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"79da3fb7f04e1bc5c6426ac68097efc8"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"3a089a7b-6aae-494d-aa77-827f10af4662","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047471.9472725} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79da3fb7f04e1bc5c6426ac68097efc8"},"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":"27/Feb/2024:15:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79da3fb7f04e1bc5c6426ac68097efc8"} device_1 | {"level":"info","message":"GET /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? 200 22ms","method":"GET","requestID":"79da3fb7f04e1bc5c6426ac68097efc8","responseTime":22,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"057b7070201103e8cb5742dabd1a31aa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.381094,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"057b7070201103e8cb5742dabd1a31aa"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.832890746Z"}]},"request_id":"d45c5216-4471-4fa2-a78e-cd3e45eb4737","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047471.9781003} 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":"057b7070201103e8cb5742dabd1a31aa"},"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":"27/Feb/2024:15:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 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":"057b7070201103e8cb5742dabd1a31aa"} device_1 | {"level":"info","message":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 200 21ms","method":"GET","requestID":"057b7070201103e8cb5742dabd1a31aa","responseTime":21,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5e24ff619fce18b0e1eb8735090c3aa7","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:35942","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.358495,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"5e24ff619fce18b0e1eb8735090c3aa7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"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:35942","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.07628,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e42bce0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875018,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e430b00-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"36784755-3b86-468e-bd62-1934983eecaf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.059902} 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":"4e42bce0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.832890746Z"}]},"request_id":"222cbdf9-7cd5-4561-a150-d2436bb65af5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.0616586} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e430b00-d584-11ee-94df-6bdcf2560c9b"},"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? 200 21ms","method":"GET","requestID":"4e42bce0-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 200 20ms","method":"GET","requestID":"4e430b00-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"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:35942","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.858101,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"4e4e55a0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.614535,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"4e4ea3c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.280981,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c333f7d3-9971-45ef-bc67-6e5f389aeabf","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1374788} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","rebac_allow":false,"scope_allow":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":"4e4ef1e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"113aa617-595a-4953-8b33-e5ba090668c4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1447337} 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":"4e4e55a0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.832890746Z"}]},"request_id":"81e56739-8303-4463-9b45-2362c477f656","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1498032} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling 200 25ms","method":"POST","requestID":"4e4ef1e0-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e4ea3c0-d584-11ee-94df-6bdcf2560c9b"},"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"} device_1 | {"level":"info","message":"GET /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? 200 39ms","method":"GET","requestID":"4e4e55a0-d584-11ee-94df-6bdcf2560c9b","responseTime":39,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6af0bc1a-e43d-47b8-a20c-26e1e9662b44#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6af0bc1a-e43d-47b8-a20c-26e1e9662b44","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"76f18371-82f7-47c3-a0bd-854185c2379f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1602154} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c47ab773-f487-4e8d-a11b-9acdc837158c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1607497} device_1 | {"level":"info","message":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 200 39ms","method":"GET","requestID":"4e4ea3c0-d584-11ee-94df-6bdcf2560c9b","responseTime":39,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} 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":"5e24ff619fce18b0e1eb8735090c3aa7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba1f424b-2b1a-4742-8874-401e002dc6a6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1662967} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.012028,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","rebac_allow":false,"scope_allow":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":"4e5385c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59be0755-8557-4cd2-b8f3-a74af9f75a52","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.175893} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling 200 21ms","method":"POST","requestID":"4e5385c0-d584-11ee-94df-6bdcf2560c9b","responseTime":21,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.265356,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"5e24ff619fce18b0e1eb8735090c3aa7","responseTime":184,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","rebac_allow":false,"scope_allow":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":"4e553370-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} gateway_1 | {"time_local":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e24ff619fce18b0e1eb8735090c3aa7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fc96416205e6a3434cf0f3030e29bc0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling 200 20ms","method":"POST","requestID":"4e553370-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.872271,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fc96416205e6a3434cf0f3030e29bc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"878e46f3-9d8a-43b3-a360-6b182943177c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.194879} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.565084,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","rebac_allow":false,"scope_allow":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":"4e588ed0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.786038321Z"}]},"request_id":"af1d2709-82c8-4f79-b2b6-d7c03a31709c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.1998851} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling 200 12ms","method":"POST","requestID":"4e588ed0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"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":"7969969a-4437-4196-9d27-fbade9da46be"},{"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":"1b03b0a0-48ec-4f96-8bc5-bf534fa70c19"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5f8784b7-f26d-41d0-9468-fb64163cfca9"}]},"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/57a4a58a-c8cf-4414-b840-276ba00797fd"},{"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"}],"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":"2fc96416205e6a3434cf0f3030e29bc0"},"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":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fc96416205e6a3434cf0f3030e29bc0"} device_1 | {"level":"info","message":"GET /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db? 200 18ms","method":"GET","requestID":"2fc96416205e6a3434cf0f3030e29bc0","responseTime":18,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.801037,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047471,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3MX0.BtvJdIXmLxr87n0V-xyK2foh3IWBut4AD169gRryh7E"} 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":"4e5ad8c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0156e5f7620a6ffc98d0d15ec29430e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785072,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0156e5f7620a6ffc98d0d15ec29430e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:29.832890746Z"}]},"request_id":"ab6a1ea8-08e4-415a-8b62-a65e86c716c6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.2210126} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0156e5f7620a6ffc98d0d15ec29430e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"b546714c-9418-41df-94e0-45b9bfb1650b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.2219446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0c7a689-e2df-4253-8132-89f88d533e93","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.222271} 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":"4e5ad8c0-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 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":"c0156e5f7620a6ffc98d0d15ec29430e"} device_1 | {"level":"info","message":"GET /devices/57a4a58a-c8cf-4414-b840-276ba00797fd? 200 14ms","method":"GET","requestID":"c0156e5f7620a6ffc98d0d15ec29430e","responseTime":14,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd?"} 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/80317c64-f880-4813-8111-ba1b73b27dd4'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"4e5ad8c0-d584-11ee-94df-6bdcf2560c9b","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a51b2be9-bcac-4839-907f-af3b2b3604d2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.2804556} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.786509,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","rebac_allow":false,"scope_allow":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":"4e65ae30-d584-11ee-94df-6bdcf2560c9b"},"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling 200 10ms","method":"POST","requestID":"4e65ae30-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8208e0d-1974-4d6e-9e13-2931668ed68d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.2931476} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.787889,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","rebac_allow":false,"scope_allow":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":"4e67aa00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a200192ef9be33e4302602619e04bb5f","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/57a4a58a-c8cf-4414-b840-276ba00797fd"},{"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling 200 11ms","method":"POST","requestID":"4e67aa00-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a200192ef9be33e4302602619e04bb5f","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"a200192ef9be33e4302602619e04bb5f"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","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/80317c64-f880-4813-8111-ba1b73b27dd4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fec2f3c3fe492fd9317fcf517866961f","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/57a4a58a-c8cf-4414-b840-276ba00797fd"},{"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80317c64-f880-4813-8111-ba1b73b27dd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"752c843d-588b-4f2c-8edf-c368d135a08c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.3490741} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.395733,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4","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":"4e703580-d584-11ee-94df-6bdcf2560c9b"},"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/80317c64-f880-4813-8111-ba1b73b27dd4 200 9ms","method":"GET","requestID":"4e703580-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"fec2f3c3fe492fd9317fcf517866961f","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"fec2f3c3fe492fd9317fcf517866961f"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1aa61495-017d-462d-9787-941775b81304","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.3709278} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.112997,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","rebac_allow":false,"scope_allow":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":"4e73b7f0-d584-11ee-94df-6bdcf2560c9b"},"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/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling 200 8ms","method":"POST","requestID":"4e73b7f0-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"769c5967-b673-4a16-9234-c81fe251f189","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.381996} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.717927,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","rebac_allow":false,"scope_allow":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":"4e753e90-d584-11ee-94df-6bdcf2560c9b"},"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling 200 9ms","method":"POST","requestID":"4e753e90-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ce78082dd99031df0c832acbf59d1c62","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.755514,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} 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":"ce78082dd99031df0c832acbf59d1c62"},"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/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} gateway_1 | {"time_local":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce78082dd99031df0c832acbf59d1c62"} experiment_1 | {"level":"info","message":"GET /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44 200 19ms","method":"GET","requestID":"ce78082dd99031df0c832acbf59d1c62","responseTime":19,"status":200,"url":"/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b2b6fc4088f62acfaaf51becc867ef6d","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.281953,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} 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":"b2b6fc4088f62acfaaf51becc867ef6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.708447,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} 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":"4e862e80-d584-11ee-94df-6bdcf2560c9b"},"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/80317c64-f880-4813-8111-ba1b73b27dd4' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80317c64-f880-4813-8111-ba1b73b27dd4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80317c64-f880-4813-8111-ba1b73b27dd4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"f9893998-b47d-4b6b-989f-f7d6273f6723","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.511997} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b39cd70-7bb3-4bcd-9d5c-295253f396f1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.5122569} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0be3ec18bc40ba1760bfd6d9640f76b4","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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":"4e862e80-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/57a4a58a-c8cf-4414-b840-276ba00797fd"},{"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dfd87e9515c9737b7af3edba211ffd8","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/57a4a58a-c8cf-4414-b840-276ba00797fd"},{"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/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"80317c64-f880-4813-8111-ba1b73b27dd4","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/80317c64-f880-4813-8111-ba1b73b27dd4 204 57ms","method":"DELETE","requestID":"4e862e80-d584-11ee-94df-6bdcf2560c9b","responseTime":57,"status":204,"url":"/peerconnections/80317c64-f880-4813-8111-ba1b73b27dd4"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a4a58a-c8cf-4414-b840-276ba00797fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dafcb7d-ebab-4c2e-aae1-62b9faf05174","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.5738783} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.145073,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a4a58a-c8cf-4414-b840-276ba00797fd","object_type":"device","rebac_allow":false,"scope_allow":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":"4e91a030-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling 200 20ms","method":"POST","requestID":"4e91a030-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/57a4a58a-c8cf-4414-b840-276ba00797fd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6af0bc1a-e43d-47b8-a20c-26e1e9662b44': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6af0bc1a-e43d-47b8-a20c-26e1e9662b44","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"59044e79-466e-4fab-92b3-eb41d74b6ac5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.5898368} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae8b9e3c-dd9e-4bf8-87a1-cef981966b59","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.5902472} authorization_1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2b6fc4088f62acfaaf51becc867ef6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3e6842f-9596-4ba6-83c4-0dadc5c4f3db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e55d4cb-d9b7-439e-b100-43f9b90686d4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.5946543} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.564379,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db","object_type":"device","rebac_allow":false,"scope_allow":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":"4e9522a0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling 200 20ms","method":"POST","requestID":"4e9522a0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} gateway_1 | {"time_local":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44 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":"b2b6fc4088f62acfaaf51becc867ef6d"} gateway_1 | {"time_local":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2080","request_time":"2.251","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"778bd7bb280f08795bcfa511f979da90"} experiment_1 | {"level":"info","message":"DELETE /experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44 204 179ms","method":"DELETE","requestID":"b2b6fc4088f62acfaaf51becc867ef6d","responseTime":179,"status":204,"url":"/experiments/6af0bc1a-e43d-47b8-a20c-26e1e9662b44"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"0be3ec18bc40ba1760bfd6d9640f76b4","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"0be3ec18bc40ba1760bfd6d9640f76b4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"8dfd87e9515c9737b7af3edba211ffd8","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dfd87e9515c9737b7af3edba211ffd8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33a5339efacb91a19004c920d3b31cbc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.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":"ab0b440ec9072711063a1a81a86454cb"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956009,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f3e6842f-9596-4ba6-83c4-0dadc5c4f3db' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} 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":"33a5339efacb91a19004c920d3b31cbc"},"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/57a4a58a-c8cf-4414-b840-276ba00797fd' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26f9c285-fb0d-491d-b0b1-5643ddc8b4ce","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.680674} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33a5339efacb91a19004c920d3b31cbc"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fdb40ad-251b-41f2-b18a-b0794560118e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.6863658} 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":"33a5339efacb91a19004c920d3b31cbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"dbf657bc-13d7-4a54-a195-7c0c6aaab534","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.6965263} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef91e840-a942-43d3-99d8-beec6dcd7052","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.6968381} 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":"33a5339efacb91a19004c920d3b31cbc"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"c07ecf85-646f-467d-8949-8b2a4727bfa0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.7024555} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33a5339efacb91a19004c920d3b31cbc"},"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":"33a5339efacb91a19004c920d3b31cbc","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33a5339efacb91a19004c920d3b31cbc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb32a2335fcebb620c0abd9a9dd25d35","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.977214,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047472,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Mn0.z7pr-TGwIn5KGU_aqjH2tXVRE-7Vx8F9vzglwriTLoM"} 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":"fb32a2335fcebb620c0abd9a9dd25d35"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5d26000-d5fb-4976-912f-7599da66fdb9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.7270825} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb32a2335fcebb620c0abd9a9dd25d35"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b050c861-4a6d-438f-88d6-d185af11c277","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.7316277} 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":"fb32a2335fcebb620c0abd9a9dd25d35"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"46d6bcb4-64a3-4948-be8d-d13efb61bb85","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.7406726} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba29210c-3370-416a-8b3c-0ba9384046ec","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.7407675} 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":"fb32a2335fcebb620c0abd9a9dd25d35"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.740641933Z"}]},"request_id":"580d1ed3-2650-4a6c-a6c1-6c63962d4ec8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047472.745078} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb32a2335fcebb620c0abd9a9dd25d35"},"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 35ms","method":"POST","requestID":"fb32a2335fcebb620c0abd9a9dd25d35","responseTime":35,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb32a2335fcebb620c0abd9a9dd25d35"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3M30.KkPMh74UfgSfptLfOBVXV-VrDTCdbo9BG1pRsx0JOOE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"baeb2422e4e3771be3f68e896751f0f4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10193,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047473,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3M30.KkPMh74UfgSfptLfOBVXV-VrDTCdbo9BG1pRsx0JOOE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baeb2422e4e3771be3f68e896751f0f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"1ce83751-8f10-4896-a4a3-5cc47a3f38f2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047473.22906} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baeb2422e4e3771be3f68e896751f0f4"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dce4ec33-8e44-4479-8a95-79fc84e1da2d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047473.2366471} 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":"baeb2422e4e3771be3f68e896751f0f4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"94f25147-bc22-40b2-a23a-e3611a528c06","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047473.255225} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baeb2422e4e3771be3f68e896751f0f4"},"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":"27/Feb/2024:15:24:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"baeb2422e4e3771be3f68e896751f0f4"} device_1 | {"level":"info","message":"PATCH /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231 200 41ms","method":"PATCH","requestID":"baeb2422e4e3771be3f68e896751f0f4","responseTime":41,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3M30.KkPMh74UfgSfptLfOBVXV-VrDTCdbo9BG1pRsx0JOOE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2313de2c1ef8d1b55f7bae2f1b5062cf","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.064241,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047473,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3M30.KkPMh74UfgSfptLfOBVXV-VrDTCdbo9BG1pRsx0JOOE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2313de2c1ef8d1b55f7bae2f1b5062cf"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231/websocket 200 20ms","method":"POST","requestID":"2313de2c1ef8d1b55f7bae2f1b5062cf","responseTime":20,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/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.3","requestID":"2313de2c1ef8d1b55f7bae2f1b5062cf"} device_1 | {"level":"info","message":"device 'http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18bd7de12ed63604147e24d919709507","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/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":"18bd7de12ed63604147e24d919709507"} device_1 | {"level":"info","message":"OPTIONS /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/websocket 200 1ms","method":"OPTIONS","requestID":"18bd7de12ed63604147e24d919709507","responseTime":1,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b70e8e5c7be32da6819d0310ef3c2374","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125276,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70e8e5c7be32da6819d0310ef3c2374"},"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97/websocket 200 31ms","method":"POST","requestID":"b70e8e5c7be32da6819d0310ef3c2374","responseTime":31,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/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":"b70e8e5c7be32da6819d0310ef3c2374"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3d9692298c9bf8a080a1b6fe0ca015f4","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.030701,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d9692298c9bf8a080a1b6fe0ca015f4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"405f2595-f0af-441f-a612-758283c2cc8b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.7845428} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d9692298c9bf8a080a1b6fe0ca015f4"},"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":"27/Feb/2024:15:24:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d9692298c9bf8a080a1b6fe0ca015f4"} device_1 | {"level":"info","message":"GET /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231? 200 22ms","method":"GET","requestID":"3d9692298c9bf8a080a1b6fe0ca015f4","responseTime":22,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e1f5950ab57fd0230603b2ee563269f4","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.469432,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"e1f5950ab57fd0230603b2ee563269f4"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.740641933Z"}]},"request_id":"4eabb838-846d-4b9e-85bb-52ec4dd13aef","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.8148286} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1f5950ab57fd0230603b2ee563269f4"},"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":"27/Feb/2024:15:24:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? 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":"e1f5950ab57fd0230603b2ee563269f4"} device_1 | {"level":"info","message":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? 200 20ms","method":"GET","requestID":"e1f5950ab57fd0230603b2ee563269f4","responseTime":20,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d1469fb904f95c380ec7f6930eadc8b7","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:35942","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.155314,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"d1469fb904f95c380ec7f6930eadc8b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"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:35942","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.664902,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"4ff3a130-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.137254,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"4ff3ef50-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"b81528b2-8d18-4b71-be46-bb2d4a6b054b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.8973074} 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":"4ff3a130-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.740641933Z"}]},"request_id":"2d07baed-5ee5-488a-8401-446f6434639a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.8989642} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ff3ef50-d584-11ee-94df-6bdcf2560c9b"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231? 200 23ms","method":"GET","requestID":"4ff3a130-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? 200 22ms","method":"GET","requestID":"4ff3ef50-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"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/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.498042,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"4fff12e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249807,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"4fff39f0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44c48b0e-8545-47c3-94e9-5e411ea26f06","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.9700987} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.258756,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","rebac_allow":false,"scope_allow":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":"4fff8810-d584-11ee-94df-6bdcf2560c9b"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling 200 18ms","method":"POST","requestID":"4fff8810-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"7503f802-310f-4fd7-9b10-bd77469c5aea","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.9790525} 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":"4fff12e0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.740641933Z"}]},"request_id":"6265f72d-a4a8-4bad-9fd7-19b028856e9f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.98082} 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":"4fff39f0-d584-11ee-94df-6bdcf2560c9b"},"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 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3907f880-b26e-4855-80fa-399102fec48b#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3907f880-b26e-4855-80fa-399102fec48b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"d0a3dc47-3177-4b52-aef2-339a6f9b6d44","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.9919622} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fde1e3b-2d31-472b-a960-44d6c24ebfcb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.9921288} device_1 | {"level":"info","message":"GET /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231? 200 34ms","method":"GET","requestID":"4fff12e0-d584-11ee-94df-6bdcf2560c9b","responseTime":34,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? 200 34ms","method":"GET","requestID":"4fff39f0-d584-11ee-94df-6bdcf2560c9b","responseTime":34,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4d35c08-76cb-4377-b94e-bd49c56a64c6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047474.9924355} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.81397,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","rebac_allow":false,"scope_allow":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":"50033190-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"d1469fb904f95c380ec7f6930eadc8b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:34Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling 200 15ms","method":"POST","requestID":"50033190-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e9c9cc4-82b3-4699-9d80-8080cf89d5df","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0007281} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718541,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","rebac_allow":false,"scope_allow":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":"5004df40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"d1469fb904f95c380ec7f6930eadc8b7","responseTime":173,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1469fb904f95c380ec7f6930eadc8b7"} device_1 | {"level":"info","message":"POST /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling 200 9ms","method":"POST","requestID":"5004df40-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NX0.AnQXIAE4aeWv4NXF2qjzxTX1h7Y5CYKH55LkNG89NXM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c43ef87ebe93182158c2eb2fb15dbf1f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44963705-07b2-4fe1-b330-840a8958d840","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0121803} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457343,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.166159,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047475,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NX0.AnQXIAE4aeWv4NXF2qjzxTX1h7Y5CYKH55LkNG89NXM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c43ef87ebe93182158c2eb2fb15dbf1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","rebac_allow":false,"scope_allow":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":"50068cf0-d584-11ee-94df-6bdcf2560c9b"},"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling 200 12ms","method":"POST","requestID":"50068cf0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.696493523Z"}]},"request_id":"9048eb12-966b-4887-84b3-db522fd03d45","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0196195} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"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":"3190b4f0-eb11-42d2-a653-7e0713f169cc"},{"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":"bc0f5666-e06e-49ff-a2a8-56068acb8ac2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"87e9dfb5-b4ec-4db7-b661-5b0400e62f51"}]},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231"},{"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97"}],"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":"c43ef87ebe93182158c2eb2fb15dbf1f"},"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"} device_1 | {"level":"info","message":"GET /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231? 200 15ms","method":"GET","requestID":"c43ef87ebe93182158c2eb2fb15dbf1f","responseTime":15,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/769c6fce-9845-4380-8aec-1b1b6aa3e231? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c43ef87ebe93182158c2eb2fb15dbf1f"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.711163,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047474,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NH0.S11nSZOHh-xWiIVeAV4P8ec-Gqzl6-iV6gIkIrAcVl4"} 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":"5008d6e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NX0.AnQXIAE4aeWv4NXF2qjzxTX1h7Y5CYKH55LkNG89NXM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bfef8f2dca8c57e2d2a7becfe2966737","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"af4ecc09-239b-4251-aa5e-81034c1da3aa","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0349104} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d896aab-6b73-458b-8ae4-2d3bae742b1c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0352068} 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":"5008d6e0-d584-11ee-94df-6bdcf2560c9b"},"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:35942","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950972,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047475,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3NX0.AnQXIAE4aeWv4NXF2qjzxTX1h7Y5CYKH55LkNG89NXM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bfef8f2dca8c57e2d2a7becfe2966737"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:32.740641933Z"}]},"request_id":"317ec8a1-8c16-4846-b3db-c6b34b3bf781","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0456655} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bfef8f2dca8c57e2d2a7becfe2966737"},"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/94e376c4-5b60-439e-bf74-ed27f5c44d3e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e'"} 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":"5008d6e0-d584-11ee-94df-6bdcf2560c9b","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":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfef8f2dca8c57e2d2a7becfe2966737"} device_1 | {"level":"info","message":"GET /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97? 200 29ms","method":"GET","requestID":"bfef8f2dca8c57e2d2a7becfe2966737","responseTime":29,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c5e766f-8c65-4a7a-82ba-b33fafd24f11","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.0937726} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332667,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","rebac_allow":false,"scope_allow":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":"50131010-d584-11ee-94df-6bdcf2560c9b"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling 200 10ms","method":"POST","requestID":"50131010-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eeb22ab8-6971-4390-8d00-8af77b5b8180","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047475.105876} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930741,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","rebac_allow":false,"scope_allow":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":"5014e4d0-d584-11ee-94df-6bdcf2560c9b"},"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling 200 9ms","method":"POST","requestID":"5014e4d0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","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/94e376c4-5b60-439e-bf74-ed27f5c44d3e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc346dc7b18808588f1d074fbad0def7","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/769c6fce-9845-4380-8aec-1b1b6aa3e231"},{"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"bc346dc7b18808588f1d074fbad0def7","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc346dc7b18808588f1d074fbad0def7"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","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/94e376c4-5b60-439e-bf74-ed27f5c44d3e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"921dc1f719308e2b72f6b16341dd7ffe","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/769c6fce-9845-4380-8aec-1b1b6aa3e231"},{"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94e376c4-5b60-439e-bf74-ed27f5c44d3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37582f64-2f35-4ed9-8794-fb253bbc7d1a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.1869738} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.072766,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e","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":"50b98940-d584-11ee-94df-6bdcf2560c9b"},"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/94e376c4-5b60-439e-bf74-ed27f5c44d3e 200 14ms","method":"GET","requestID":"50b98940-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"921dc1f719308e2b72f6b16341dd7ffe","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"921dc1f719308e2b72f6b16341dd7ffe"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b62ea4b6-72ff-4e39-8290-6dd2f6782b7a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.2248738} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.028217,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","rebac_allow":false,"scope_allow":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":"50bf55a0-d584-11ee-94df-6bdcf2560c9b"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling 200 14ms","method":"POST","requestID":"50bf55a0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"004fe635-ca91-4c0d-b519-9d2d9ef2e677","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.2444234} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.180141,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","rebac_allow":false,"scope_allow":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":"50c1edb0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"41280d9d273d8cb1c43a8c10a65c744e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3907f880-b26e-4855-80fa-399102fec48b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling 200 17ms","method":"POST","requestID":"50c1edb0-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.333259,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047476,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM"} 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":"41280d9d273d8cb1c43a8c10a65c744e"},"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/3907f880-b26e-4855-80fa-399102fec48b"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3907f880-b26e-4855-80fa-399102fec48b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41280d9d273d8cb1c43a8c10a65c744e"} experiment_1 | {"level":"info","message":"GET /experiments/3907f880-b26e-4855-80fa-399102fec48b 200 19ms","method":"GET","requestID":"41280d9d273d8cb1c43a8c10a65c744e","responseTime":19,"status":200,"url":"/experiments/3907f880-b26e-4855-80fa-399102fec48b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"19e742f65e611c9f136ba584eb084df5","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3907f880-b26e-4855-80fa-399102fec48b"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.295091,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047476,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM"} 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":"19e742f65e611c9f136ba584eb084df5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.215351,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047476,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM"} 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":"50cb1570-d584-11ee-94df-6bdcf2560c9b"},"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/94e376c4-5b60-439e-bf74-ed27f5c44d3e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e09be772194e98a9ff005806065fbb13","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94e376c4-5b60-439e-bf74-ed27f5c44d3e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94e376c4-5b60-439e-bf74-ed27f5c44d3e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"b546cc68-fe17-4471-87cc-7e53176ce724","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.3215072} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88366dd1-a66a-4d3e-bcfc-240c81c11163","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.3220668} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231"},{"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6663ea002367ded3ca9ee31a183a7e09","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231"},{"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50cb1570-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"94e376c4-5b60-439e-bf74-ed27f5c44d3e","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/94e376c4-5b60-439e-bf74-ed27f5c44d3e 204 58ms","method":"DELETE","requestID":"50cb1570-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"status":204,"url":"/peerconnections/94e376c4-5b60-439e-bf74-ed27f5c44d3e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3907f880-b26e-4855-80fa-399102fec48b"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F769c6fce-9845-4380-8aec-1b1b6aa3e231","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ece37478-49fb-445c-95bd-e51a359ac57f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.3829584} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.988058,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231","object_type":"device","rebac_allow":false,"scope_allow":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":"50d77180-d584-11ee-94df-6bdcf2560c9b"},"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/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling 200 14ms","method":"POST","requestID":"50d77180-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3907f880-b26e-4855-80fa-399102fec48b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3907f880-b26e-4855-80fa-399102fec48b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"77662436-0cc9-453c-9292-f6257b02520a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.393808} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a65834b6-f0e3-41fd-9f54-2415273dd9cd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.3940248} 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":"19e742f65e611c9f136ba584eb084df5"},"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:35942","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c5db655-b2b2-4817-8a4d-8790d4a60c97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c07abcf-dcf6-43b3-8bb1-27495981395c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.4030566} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.044553,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97","object_type":"device","rebac_allow":false,"scope_allow":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":"50da30a0-d584-11ee-94df-6bdcf2560c9b"},"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling 200 16ms","method":"POST","requestID":"50da30a0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/0c5db655-b2b2-4817-8a4d-8790d4a60c97/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3907f880-b26e-4855-80fa-399102fec48b"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3907f880-b26e-4855-80fa-399102fec48b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19e742f65e611c9f136ba584eb084df5"} experiment_1 | {"level":"info","message":"DELETE /experiments/3907f880-b26e-4855-80fa-399102fec48b 204 185ms","method":"DELETE","requestID":"19e742f65e611c9f136ba584eb084df5","responseTime":185,"status":204,"url":"/experiments/3907f880-b26e-4855-80fa-399102fec48b"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2400","request_time":"3.176","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5e97b698847e9fb3273848343ce8746e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"e09be772194e98a9ff005806065fbb13","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"e09be772194e98a9ff005806065fbb13"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"6663ea002367ded3ca9ee31a183a7e09","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"6663ea002367ded3ca9ee31a183a7e09"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a4be7930ad577725206a13cf31eb29d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2156","request_time":"1.725","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"587be1d0a157bf0134b3925fc7ab692c"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.911085,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047476,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/769c6fce-9845-4380-8aec-1b1b6aa3e231' closed"} 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":"4a4be7930ad577725206a13cf31eb29d"},"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/0c5db655-b2b2-4817-8a4d-8790d4a60c97' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"90c750e4-d184-46b3-badd-67a8fdd4383f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.4937196} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a4be7930ad577725206a13cf31eb29d"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8999449-38f7-40f8-977c-e2e27e62eb9e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5010183} 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":"4a4be7930ad577725206a13cf31eb29d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"f8ffd2aa-2232-4c79-98a3-fcb6337bcc5b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.511707} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55bc30d9-005b-4a72-a43c-6baa4d9c4167","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.512091} 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":"4a4be7930ad577725206a13cf31eb29d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"acf1d237-bdca-4fbd-b3d6-2cac6461032c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5174046} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a4be7930ad577725206a13cf31eb29d"},"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 49ms","method":"POST","requestID":"4a4be7930ad577725206a13cf31eb29d","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a4be7930ad577725206a13cf31eb29d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51f67d10605ff4ba0e868af97b58e35f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.795644,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047476,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3Nn0.TQtj3m5Pm0EV4gwgTuCEwCP32kDGRBMGXKRd6diO5BM"} 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":"51f67d10605ff4ba0e868af97b58e35f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"48a6b7e6-c2f8-430f-9473-696bdb1ced01","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5430799} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51f67d10605ff4ba0e868af97b58e35f"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c7f7056-5175-4764-964c-a620bf63a4ed","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.548179} 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":"51f67d10605ff4ba0e868af97b58e35f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"ec639963-1609-4c40-949a-40041761468b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5587971} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68d46f8d-0f66-4490-9994-4437c3e4c91a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5589368} 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":"51f67d10605ff4ba0e868af97b58e35f"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"c1388e2a-88f6-46bb-b5d8-28d17383acc7","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047476.5638137} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51f67d10605ff4ba0e868af97b58e35f"},"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 40ms","method":"POST","requestID":"51f67d10605ff4ba0e868af97b58e35f","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51f67d10605ff4ba0e868af97b58e35f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b488597f214963ba84f131ccc2c199c8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e43f24ac6f3e50329000052230705b88","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850255,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b488597f214963ba84f131ccc2c199c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896413,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"e43f24ac6f3e50329000052230705b88"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"4a68ae68-75cb-4340-ae04-62f5154309fe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.037368} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b488597f214963ba84f131ccc2c199c8"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"3ffd0bb0-caac-4282-ba61-76aecd74a14b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.0405893} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e43f24ac6f3e50329000052230705b88"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd650c7a-3be4-414e-9baf-cde023182651","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.0422225} 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":"b488597f214963ba84f131ccc2c199c8"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b089602-2b17-4f9a-9af5-a53ce66f88a6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.0470824} 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":"e43f24ac6f3e50329000052230705b88"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"642991cd-8623-4aff-a77b-65d20e30b594","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.0587044} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b488597f214963ba84f131ccc2c199c8"},"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":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b488597f214963ba84f131ccc2c199c8"} device_1 | {"level":"info","message":"PATCH /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b 200 36ms","method":"PATCH","requestID":"b488597f214963ba84f131ccc2c199c8","responseTime":36,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e29c358a1be557794a18e93dcfb86ae","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"ca03e4dc-d927-4d18-a687-a4f5cd7d25ff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.068188} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e43f24ac6f3e50329000052230705b88"},"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:35942","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613921,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e43f24ac6f3e50329000052230705b88"} device_1 | {"level":"info","message":"PATCH /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc 200 43ms","method":"PATCH","requestID":"e43f24ac6f3e50329000052230705b88","responseTime":43,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e29c358a1be557794a18e93dcfb86ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4c322c8b212a86c6cdd9f0e18122b7c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750587,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"c4c322c8b212a86c6cdd9f0e18122b7c"},"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":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/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.3","requestID":"7e29c358a1be557794a18e93dcfb86ae"} device_1 | {"level":"info","message":"POST /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/websocket 200 17ms","method":"POST","requestID":"7e29c358a1be557794a18e93dcfb86ae","responseTime":17,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/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.3","requestID":"c4c322c8b212a86c6cdd9f0e18122b7c"} device_1 | {"level":"info","message":"POST /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/websocket 200 16ms","method":"POST","requestID":"c4c322c8b212a86c6cdd9f0e18122b7c","responseTime":16,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5205e6b3691bbeedcd51941873942fc6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709855,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5205e6b3691bbeedcd51941873942fc6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"77fa717d-faa6-470d-8cb7-1ef6e583cbdb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.1275132} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5205e6b3691bbeedcd51941873942fc6"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? 200 14ms","method":"GET","requestID":"5205e6b3691bbeedcd51941873942fc6","responseTime":14,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5205e6b3691bbeedcd51941873942fc6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b858e2b8acc9b736201670a23549ccb2","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.100185,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b858e2b8acc9b736201670a23549ccb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"4ae96666-4913-414f-a7de-1d9c24998052","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.14785} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b858e2b8acc9b736201670a23549ccb2"},"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":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b858e2b8acc9b736201670a23549ccb2"} device_1 | {"level":"info","message":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? 200 15ms","method":"GET","requestID":"b858e2b8acc9b736201670a23549ccb2","responseTime":15,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d6554630572d30f20f8e1896a972e70","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:35942","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.984677,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"1d6554630572d30f20f8e1896a972e70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"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:35942","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.044666,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"5158af70-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.556559,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"5158fd90-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"962dc900-d65b-490d-bf93-43f1f85bc21c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.2381124} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5158af70-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"28b4f138-5bc7-4d5f-998b-60b49bd20f6f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.239294} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5158fd90-d584-11ee-94df-6bdcf2560c9b"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? 200 24ms","method":"GET","requestID":"5158af70-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? 200 23ms","method":"GET","requestID":"5158fd90-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"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/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.734399,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"51661cf0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186691,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"51666b10-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.642545,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a68414f-8149-4219-b35a-edddd03ae01b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3242502} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","rebac_allow":false,"scope_allow":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":"5166b930-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"eb53230b-a2e8-4306-b817-6c1ddb3a5633","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3308175} 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":"51661cf0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"1c029c85-5700-405a-b175-22ab6602322a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3351932} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51666b10-d584-11ee-94df-6bdcf2560c9b"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling 200 24ms","method":"POST","requestID":"5166b930-d584-11ee-94df-6bdcf2560c9b","responseTime":24,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccbdf165-cab5-4544-acaf-54e3c95fc480#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccbdf165-cab5-4544-acaf-54e3c95fc480","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"4b3f4bd9-e327-4dd7-a234-e7c14000f38c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3407671} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a666570-1b95-4e7b-b322-754aeb326843","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3412716} 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":"1d6554630572d30f20f8e1896a972e70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} device_1 | {"level":"info","message":"GET /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? 200 35ms","method":"GET","requestID":"51661cf0-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? 200 35ms","method":"GET","requestID":"51666b10-d584-11ee-94df-6bdcf2560c9b","responseTime":35,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba8170b9-8858-4028-9530-cb2ebe195a93","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3489668} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.404222,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","rebac_allow":false,"scope_allow":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":"516afef0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /experiments? 201 194ms","method":"POST","requestID":"1d6554630572d30f20f8e1896a972e70","responseTime":194,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d6554630572d30f20f8e1896a972e70"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling 200 14ms","method":"POST","requestID":"516afef0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79e856b2-5f9e-4d5d-be9e-27335973d305","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.360147} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905121,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29c9d2301cc84d977caa644d0173e411","responseTime":4,"status":200,"url":"/auth"} 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":"516caca0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling 200 12ms","method":"POST","requestID":"516caca0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973082,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"29c9d2301cc84d977caa644d0173e411"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.511665532Z"}]},"request_id":"163c64d0-26ff-4bbb-bfe8-103b223ac340","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3728108} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49c4a473-b3a8-4813-9eab-0453afa90aca","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3730118} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29c9d2301cc84d977caa644d0173e411"},"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:35942","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.091922,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","rebac_allow":false,"scope_allow":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":"516ecf80-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29c9d2301cc84d977caa644d0173e411"} device_1 | {"level":"info","message":"GET /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b? 200 13ms","method":"GET","requestID":"29c9d2301cc84d977caa644d0173e411","responseTime":13,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling 200 12ms","method":"POST","requestID":"516ecf80-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"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":"c5568a2b-bd30-4d45-8a07-f7c5984b38f0"},{"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":"e86216b9-4d06-49b9-9181-c53223f6bc2a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"eec668ff-eec3-47a3-81d5-59dc6e6ff8df"}]},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"},{"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"84b51889d5c35d93f3c502c90dbee4f8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822344,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"84b51889d5c35d93f3c502c90dbee4f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.432061,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"51716790-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:36.558770324Z"}]},"request_id":"ff5dfd15-b890-42f9-8306-fbbf8463c88f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3925061} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b51889d5c35d93f3c502c90dbee4f8"},"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":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84b51889d5c35d93f3c502c90dbee4f8"} device_1 | {"level":"info","message":"GET /devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc? 200 14ms","method":"GET","requestID":"84b51889d5c35d93f3c502c90dbee4f8","responseTime":14,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"3ef63c19-b7d1-4528-a6ea-ccdd9d7df0c2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3989987} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"004a0609-8b23-4a6b-9087-79569dff459d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.3992388} 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":"51716790-d584-11ee-94df-6bdcf2560c9b"},"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/192b3e65-204e-492b-bf07-a6b7f846deb3'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"51716790-d584-11ee-94df-6bdcf2560c9b","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"439351a0-c7b6-41c3-ac12-9dfb72474780","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.4736161} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.924123,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a15c03a4abd4cbe0c422f85657bda078","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","rebac_allow":false,"scope_allow":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":"517e11c0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"},{"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a15c03a4abd4cbe0c422f85657bda078","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"a15c03a4abd4cbe0c422f85657bda078"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling 200 19ms","method":"POST","requestID":"517e11c0-d584-11ee-94df-6bdcf2560c9b","responseTime":19,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82fdeffc-82ee-40ee-8ee2-949af1ed3d63","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.4948354} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.863425,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","rebac_allow":false,"scope_allow":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":"51814610-d584-11ee-94df-6bdcf2560c9b"},"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling 200 10ms","method":"POST","requestID":"51814610-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","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/192b3e65-204e-492b-bf07-a6b7f846deb3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81bd178d613f35142ed08ec22e6c10b0","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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"},{"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F192b3e65-204e-492b-bf07-a6b7f846deb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef3765e3-d7c9-4765-aeee-ca23fdabbc39","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.5262587} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.597026,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3","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":"51862810-d584-11ee-94df-6bdcf2560c9b"},"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/192b3e65-204e-492b-bf07-a6b7f846deb3 200 9ms","method":"GET","requestID":"51862810-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"81bd178d613f35142ed08ec22e6c10b0","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"81bd178d613f35142ed08ec22e6c10b0"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3f1ee31-3a44-47ff-99c3-c4bb5ea29f26","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.5522027} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.606689,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","rebac_allow":false,"scope_allow":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":"518a1fb0-d584-11ee-94df-6bdcf2560c9b"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling 200 10ms","method":"POST","requestID":"518a1fb0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b8645d3-f92f-4f9a-811e-579f2ca03f6c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.56371} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.616349,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","rebac_allow":false,"scope_allow":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":"518bf470-d584-11ee-94df-6bdcf2560c9b"},"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling 200 9ms","method":"POST","requestID":"518bf470-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43389ddcecb194850d606b098ebed979","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.179711,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"43389ddcecb194850d606b098ebed979"},"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/ccbdf165-cab5-4544-acaf-54e3c95fc480"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43389ddcecb194850d606b098ebed979"} experiment_1 | {"level":"info","message":"GET /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480 200 16ms","method":"GET","requestID":"43389ddcecb194850d606b098ebed979","responseTime":16,"status":200,"url":"/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78118fa9a878b1f1ec63b94416714656","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.311642,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"78118fa9a878b1f1ec63b94416714656"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.078694,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"519a7360-d584-11ee-94df-6bdcf2560c9b"},"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/192b3e65-204e-492b-bf07-a6b7f846deb3' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F192b3e65-204e-492b-bf07-a6b7f846deb3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F192b3e65-204e-492b-bf07-a6b7f846deb3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"4688083b-ce95-4874-bbdd-39e4fdaf7e4c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.6806836} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0498d40b6707c15f8c04805d7b0ab8b2","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b56ce4c-e0ce-49d5-ae6c-97aa0b5ecdbe","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.6814258} 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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"},{"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfb79ffe442bddc255cc389d94d1c127","responseTime":1,"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":"519a7360-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b"},{"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"192b3e65-204e-492b-bf07-a6b7f846deb3","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/192b3e65-204e-492b-bf07-a6b7f846deb3 204 58ms","method":"DELETE","requestID":"519a7360-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"status":204,"url":"/peerconnections/192b3e65-204e-492b-bf07-a6b7f846deb3"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe21cf5b-fea3-46c2-9459-f2939ab6e46b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95269442-6197-4ada-a7ee-36e140c9a3d1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.7432034} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.016164,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b","object_type":"device","rebac_allow":false,"scope_allow":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":"51a6cf70-d584-11ee-94df-6bdcf2560c9b"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling 200 16ms","method":"POST","requestID":"51a6cf70-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/fe21cf5b-fea3-46c2-9459-f2939ab6e46b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccbdf165-cab5-4544-acaf-54e3c95fc480': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccbdf165-cab5-4544-acaf-54e3c95fc480","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"29816ece-bbe8-44cb-856b-be62a92b5020","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.7586462} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd11fe08-f25c-4a2d-8ac6-897bc8599716","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.759035} 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":"78118fa9a878b1f1ec63b94416714656"},"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:35942","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f84c03d6-d954-4e6b-a8f5-18d80156aefc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.763167} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.568528,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc","object_type":"device","rebac_allow":false,"scope_allow":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":"51a9b5a0-d584-11ee-94df-6bdcf2560c9b"},"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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling 200 17ms","method":"POST","requestID":"51a9b5a0-d584-11ee-94df-6bdcf2560c9b","responseTime":17,"status":200,"url":"/devices/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78118fa9a878b1f1ec63b94416714656"} experiment_1 | {"level":"info","message":"DELETE /experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480 204 183ms","method":"DELETE","requestID":"78118fa9a878b1f1ec63b94416714656","responseTime":183,"status":204,"url":"/experiments/ccbdf165-cab5-4544-acaf-54e3c95fc480"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.735","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f1daec86871986efcb42bf1774d7004"} gateway_1 | {"time_local":"27/Feb/2024:15:24:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.726","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4ce0baef656784687b799c054e9f4e2f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"0498d40b6707c15f8c04805d7b0ab8b2","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"0498d40b6707c15f8c04805d7b0ab8b2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"dfb79ffe442bddc255cc389d94d1c127","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfb79ffe442bddc255cc389d94d1c127"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","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/d7daf2e6-8c7c-4d3a-9b60-fca805da9dbc' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2603e60a61e26030db3b963704a3cc02","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.983509,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"2603e60a61e26030db3b963704a3cc02"},"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/fe21cf5b-fea3-46c2-9459-f2939ab6e46b' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6aad1b1b-f3ae-4ca5-829d-31cd7d48f35f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.848071} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2603e60a61e26030db3b963704a3cc02"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56f5bb4c-61d9-44c4-9bd6-aa6b5b7a05c8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.8543863} 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":"2603e60a61e26030db3b963704a3cc02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"97966760-7e6d-45eb-aaad-c05deaa66dc9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.864789} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8ee7212-b940-461a-bc42-365042fe301e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.8651025} 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":"2603e60a61e26030db3b963704a3cc02"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"e927f7c9-8b28-4035-bfe3-74053f23674c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.87027} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2603e60a61e26030db3b963704a3cc02"},"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":"2603e60a61e26030db3b963704a3cc02","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2603e60a61e26030db3b963704a3cc02"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae5f7148a55781cad2d8474bec0cf729","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.757139,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047477,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3N30.Qu3Yhuzf5WCP6f8ALPEQMLHK8pMxm0oGIuYbCIlLEas"} 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":"ae5f7148a55781cad2d8474bec0cf729"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d1c4fe4-43ca-4323-9047-5d8c48b2e0b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.8979404} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5f7148a55781cad2d8474bec0cf729"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"753153fe-bdb8-4db8-b92a-8dedf808f731","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.9031324} 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":"ae5f7148a55781cad2d8474bec0cf729"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"fce96e8d-517b-4b68-907f-15e65d966122","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.9153156} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9695a21-351a-4007-a3ce-1a3da5aa0313","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.9155462} 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":"ae5f7148a55781cad2d8474bec0cf729"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"cbfc3293-6f43-4b51-934e-16a356adb316","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047477.9204843} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5f7148a55781cad2d8474bec0cf729"},"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":"ae5f7148a55781cad2d8474bec0cf729","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae5f7148a55781cad2d8474bec0cf729"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d2541f6a18808b736058adbc3e4d4079","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855965,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2541f6a18808b736058adbc3e4d4079"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d03663e9862e79606f8ef1a4e1a8a05a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709827,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d03663e9862e79606f8ef1a4e1a8a05a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"fdf45034-7ad1-403b-9da8-12d30baa07cd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.3918738} 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":"d2541f6a18808b736058adbc3e4d4079"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59e3c8a8-30c3-4386-a2b4-bc960c8c2fb8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.4001763} 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":"d2541f6a18808b736058adbc3e4d4079"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"4a277ba3-1a43-4c39-a529-cc385985fc23","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.402111} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d03663e9862e79606f8ef1a4e1a8a05a"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0b80701-3074-4003-93aa-6e4a115ec542","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.4077957} 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":"d03663e9862e79606f8ef1a4e1a8a05a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"fb92e195-f2c8-4e9b-ac3b-b382b1897139","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.425506} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2541f6a18808b736058adbc3e4d4079"},"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/70219986-c8f5-40ac-9eb2-480c56bf8211 200 50ms","method":"PATCH","requestID":"d2541f6a18808b736058adbc3e4d4079","responseTime":50,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/70219986-c8f5-40ac-9eb2-480c56bf8211 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d2541f6a18808b736058adbc3e4d4079"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba527a89d4ecbafffaf154b8170e09ed","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"6ca41a5a-2647-4c43-9da5-3c35082f037e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.4356124} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d03663e9862e79606f8ef1a4e1a8a05a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d03663e9862e79606f8ef1a4e1a8a05a"} device_1 | {"level":"info","message":"PATCH /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93 200 52ms","method":"PATCH","requestID":"d03663e9862e79606f8ef1a4e1a8a05a","responseTime":52,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911152,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba527a89d4ecbafffaf154b8170e09ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c91523abaaf2fe341150883dcf4c267","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293948,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c91523abaaf2fe341150883dcf4c267"},"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":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/70219986-c8f5-40ac-9eb2-480c56bf8211/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ba527a89d4ecbafffaf154b8170e09ed"} device_1 | {"level":"info","message":"POST /devices/70219986-c8f5-40ac-9eb2-480c56bf8211/websocket 200 23ms","method":"POST","requestID":"ba527a89d4ecbafffaf154b8170e09ed","responseTime":23,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/websocket 200 25ms","method":"POST","requestID":"4c91523abaaf2fe341150883dcf4c267","responseTime":25,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4c91523abaaf2fe341150883dcf4c267"} device_1 | {"level":"info","message":"device 'http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"110a83e8b74ba91eea3f9ce0ffa8becb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257468,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"110a83e8b74ba91eea3f9ce0ffa8becb"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"626128ae-803c-41e5-ae09-2fc7cf92e4bc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.5093708} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"110a83e8b74ba91eea3f9ce0ffa8becb"},"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/70219986-c8f5-40ac-9eb2-480c56bf8211? 200 18ms","method":"GET","requestID":"110a83e8b74ba91eea3f9ce0ffa8becb","responseTime":18,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70219986-c8f5-40ac-9eb2-480c56bf8211? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"110a83e8b74ba91eea3f9ce0ffa8becb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b93b3b5ce1142cd1acdc9b863ebf0ec0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236775,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b93b3b5ce1142cd1acdc9b863ebf0ec0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"3fcffcf7-f3a3-478b-b100-abda614a45d5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.5348032} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b93b3b5ce1142cd1acdc9b863ebf0ec0"},"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":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b93b3b5ce1142cd1acdc9b863ebf0ec0"} device_1 | {"level":"info","message":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? 200 17ms","method":"GET","requestID":"b93b3b5ce1142cd1acdc9b863ebf0ec0","responseTime":17,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5c89661c95f40fe3e3edf0a92d282e0","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:35942","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.160811,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} 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":"c5c89661c95f40fe3e3edf0a92d282e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"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:35942","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094426,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} 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":"522ca140-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.216897,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} 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":"522cc850-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"27e26445-9e3e-4cf0-8842-716c64826ead","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.62758} 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":"522ca140-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"e40b1f90-aede-4db0-b541-c3090507b441","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.6290348} 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":"522cc850-d584-11ee-94df-6bdcf2560c9b"},"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/70219986-c8f5-40ac-9eb2-480c56bf8211? 200 25ms","method":"GET","requestID":"522ca140-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? 200 26ms","method":"GET","requestID":"522cc850-d584-11ee-94df-6bdcf2560c9b","responseTime":26,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"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:35942","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32048,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully running experiment"} 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":"523a0ec0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.453067,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} 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":"523a5ce0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.238116,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4447a332-5e8c-45dd-82b5-9fbc2315c661","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7168365} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","rebac_allow":false,"scope_allow":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":"523ad210-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"d5f3a237-2553-45c5-a15b-f56a2a30176a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.721379} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523a0ec0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"c0c32521-ef96-44c6-b780-19f827e50c68","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7265182} device_1 | {"level":"info","message":"POST /devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling 200 23ms","method":"POST","requestID":"523ad210-d584-11ee-94df-6bdcf2560c9b","responseTime":23,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling"} 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":"523a5ce0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe25d5d62-5069-4c09-bc73-5d88568388a7#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe25d5d62-5069-4c09-bc73-5d88568388a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"1724823b-1107-4fc6-b9d5-835a4b8bdec4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.733556} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a27d1c85-953d-4d5f-9428-08b88422b43b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7340074} 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":"c5c89661c95f40fe3e3edf0a92d282e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/70219986-c8f5-40ac-9eb2-480c56bf8211? 200 39ms","method":"GET","requestID":"523a0ec0-d584-11ee-94df-6bdcf2560c9b","responseTime":39,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? 200 38ms","method":"GET","requestID":"523a5ce0-d584-11ee-94df-6bdcf2560c9b","responseTime":38,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a8994ef-6541-48fd-98c4-80a980b3639c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.742051} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.306647,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","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":"523f17d0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"c5c89661c95f40fe3e3edf0a92d282e0","responseTime":197,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5c89661c95f40fe3e3edf0a92d282e0"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling 200 16ms","method":"POST","requestID":"523f17d0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8981922e-5fdb-421f-b41c-50a0b0199c69","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7504563} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.502568,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5240c580-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e13b8050396877f3617327127f6ebd67","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/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling 200 13ms","method":"POST","requestID":"5240c580-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727853,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e13b8050396877f3617327127f6ebd67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.864762669Z"}]},"request_id":"2889db78-2483-497b-8e0d-32b86cbd1546","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7642202} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f2ee6dd-f128-42fd-a73d-33646a87e38d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.764395} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e13b8050396877f3617327127f6ebd67"},"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:35942","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949519,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","rebac_allow":false,"scope_allow":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":"52430f70-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70219986-c8f5-40ac-9eb2-480c56bf8211? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e13b8050396877f3617327127f6ebd67"} device_1 | {"level":"info","message":"GET /devices/70219986-c8f5-40ac-9eb2-480c56bf8211? 200 15ms","method":"GET","requestID":"e13b8050396877f3617327127f6ebd67","responseTime":15,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling 200 11ms","method":"POST","requestID":"52430f70-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"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":"ea17248a-834d-46e3-af52-66b7447dba30"},{"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":"d1f96e0b-7f00-4659-bc2f-570cfc492599"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"156ceefb-4c45-4ff9-801f-5038599da577"}]},"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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"},{"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/70219986-c8f5-40ac-9eb2-480c56bf8211"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17cf802307eecd9f9764e8a1b9f52a9a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.187328,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} 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":"52453250-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981722,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047478,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OH0.I0-znTn4_LMdGBPvOR2qcvBgfESdt1aehE7ceD60u2U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17cf802307eecd9f9764e8a1b9f52a9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:37.915284734Z"}]},"request_id":"0064148a-3de1-4100-a3e1-4e7984ad34b9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7851007} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17cf802307eecd9f9764e8a1b9f52a9a"},"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":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17cf802307eecd9f9764e8a1b9f52a9a"} device_1 | {"level":"info","message":"GET /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93? 200 12ms","method":"GET","requestID":"17cf802307eecd9f9764e8a1b9f52a9a","responseTime":12,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"fbfaabd4-864f-4ab7-a297-20cfe72c70f6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.790124} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f00dc34-0ef8-4035-8562-1d39571dc2b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.7905464} 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":"52453250-d584-11ee-94df-6bdcf2560c9b"},"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/7da23dc5-f527-41e9-b237-0dd3a02d4fa1'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"52453250-d584-11ee-94df-6bdcf2560c9b","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddb29c43-b859-4901-b09d-5e1f2d711c21","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.8592513} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.892959,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} 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":"52518e60-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling 200 14ms","method":"POST","requestID":"52518e60-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5c29e40df5274a0cc827a4999a145fdc","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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"},{"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/70219986-c8f5-40ac-9eb2-480c56bf8211"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f486f81-c1de-45ba-b3b8-6c4987ce8e44","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.8779097} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073563,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"5c29e40df5274a0cc827a4999a145fdc","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c29e40df5274a0cc827a4999a145fdc"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","rebac_allow":false,"scope_allow":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":"52544d80-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling 200 11ms","method":"POST","requestID":"52544d80-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","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/7da23dc5-f527-41e9-b237-0dd3a02d4fa1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e7654a7468f8eb3072f87c3a2ffc0d5f","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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"},{"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/70219986-c8f5-40ac-9eb2-480c56bf8211"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7da23dc5-f527-41e9-b237-0dd3a02d4fa1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b71ecce6-3aa5-413d-8894-bc1b2db826ec","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.9230516} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.143135,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1","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":"525b5260-d584-11ee-94df-6bdcf2560c9b"},"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/7da23dc5-f527-41e9-b237-0dd3a02d4fa1 200 8ms","method":"GET","requestID":"525b5260-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"e7654a7468f8eb3072f87c3a2ffc0d5f","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"e7654a7468f8eb3072f87c3a2ffc0d5f"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05ba9069-943c-49be-8b26-f47a7c12bb7e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.9469707} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.133323,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","rebac_allow":false,"scope_allow":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":"525ed4d0-d584-11ee-94df-6bdcf2560c9b"},"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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling 200 11ms","method":"POST","requestID":"525ed4d0-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"025a6e60-45ee-48c1-8a01-3d7fb7b6982b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047478.9614248} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.866994,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","rebac_allow":false,"scope_allow":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":"5260f7b0-d584-11ee-94df-6bdcf2560c9b"},"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/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling 200 12ms","method":"POST","requestID":"5260f7b0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d13c9d52145f5be9508327e2629ced83","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.53641,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047479,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw"} 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":"d13c9d52145f5be9508327e2629ced83"},"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/e25d5d62-5069-4c09-bc73-5d88568388a7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d13c9d52145f5be9508327e2629ced83"} experiment_1 | {"level":"info","message":"GET /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7 200 17ms","method":"GET","requestID":"d13c9d52145f5be9508327e2629ced83","responseTime":17,"status":200,"url":"/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d1c30c940708e4f7954fd1d9f6b78b0d","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.230656,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047479,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw"} 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":"d1c30c940708e4f7954fd1d9f6b78b0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.331915,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047479,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw"} 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":"527012e0-d584-11ee-94df-6bdcf2560c9b"},"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/7da23dc5-f527-41e9-b237-0dd3a02d4fa1' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"95383376bdd67e010bdbc3adbef4425e","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7da23dc5-f527-41e9-b237-0dd3a02d4fa1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7da23dc5-f527-41e9-b237-0dd3a02d4fa1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"ddabe775-8e4a-4c9d-9df3-65b0c076a82e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.0763724} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aeeab779-38cb-43a9-a52d-fd079e0d7238","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.0766823} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"},{"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/70219986-c8f5-40ac-9eb2-480c56bf8211"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f097ccf3bd68bc3bb71945789637bf5b","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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93"},{"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/70219986-c8f5-40ac-9eb2-480c56bf8211"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"}}},"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":"527012e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"peerconnection":"7da23dc5-f527-41e9-b237-0dd3a02d4fa1","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/7da23dc5-f527-41e9-b237-0dd3a02d4fa1 204 51ms","method":"DELETE","requestID":"527012e0-d584-11ee-94df-6bdcf2560c9b","responseTime":51,"status":204,"url":"/peerconnections/7da23dc5-f527-41e9-b237-0dd3a02d4fa1"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34a706e6-0c4f-4089-9ddf-ebd1cd643e93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d6350ef-e738-4353-b9c7-af787a7a9995","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.1367514} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.941688,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93","object_type":"device","rebac_allow":false,"scope_allow":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":"527baba0-d584-11ee-94df-6bdcf2560c9b"},"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/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling 200 14ms","method":"POST","requestID":"527baba0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe25d5d62-5069-4c09-bc73-5d88568388a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe25d5d62-5069-4c09-bc73-5d88568388a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"6035bfc4-37b4-4d2c-a15b-1c2010406799","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.1492038} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c869efb8-25e1-422f-9f96-6c6949815d97","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.149706} 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":"d1c30c940708e4f7954fd1d9f6b78b0d"},"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:35942","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70219986-c8f5-40ac-9eb2-480c56bf8211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"664b67ea-640e-4fbf-845d-99cf3872f918","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.154447} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.784353,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211","object_type":"device","rebac_allow":false,"scope_allow":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":"527e43b0-d584-11ee-94df-6bdcf2560c9b"},"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/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling 200 16ms","method":"POST","requestID":"527e43b0-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/70219986-c8f5-40ac-9eb2-480c56bf8211/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1c30c940708e4f7954fd1d9f6b78b0d"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.759","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"10b11950a4e25f3389c028f7c12fdeda"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.746","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"055c8105ff138d0459e60a27592e6236"} experiment_1 | {"level":"info","message":"DELETE /experiments/e25d5d62-5069-4c09-bc73-5d88568388a7 204 183ms","method":"DELETE","requestID":"d1c30c940708e4f7954fd1d9f6b78b0d","responseTime":183,"status":204,"url":"/experiments/e25d5d62-5069-4c09-bc73-5d88568388a7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"95383376bdd67e010bdbc3adbef4425e","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"95383376bdd67e010bdbc3adbef4425e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"f097ccf3bd68bc3bb71945789637bf5b","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"f097ccf3bd68bc3bb71945789637bf5b"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/34a706e6-0c4f-4089-9ddf-ebd1cd643e93' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"563a3d18e82f841961e7b86b7ef2b090","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.876982,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047479,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/70219986-c8f5-40ac-9eb2-480c56bf8211' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"563a3d18e82f841961e7b86b7ef2b090"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ccc154f8-0259-499e-acd2-a1c843d1f6c6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.2458997} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"563a3d18e82f841961e7b86b7ef2b090"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c904760b-6d43-4352-923b-80215fbd96ca","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.2538826} 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":"563a3d18e82f841961e7b86b7ef2b090"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"8072ed11-7c78-4b28-a6a7-394e2bca8968","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.2670517} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ce09927-a82f-410a-80e5-d43c16cadb62","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.2673316} 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":"563a3d18e82f841961e7b86b7ef2b090"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.267012384Z"}]},"request_id":"353c39a5-de8e-4cc1-8531-5355e79a0ab5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.2776673} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"563a3d18e82f841961e7b86b7ef2b090"},"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 52ms","method":"POST","requestID":"563a3d18e82f841961e7b86b7ef2b090","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"563a3d18e82f841961e7b86b7ef2b090"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ca03e14b8817c855583f77170c0fdc0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.85227,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047479,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ3OX0.7o21wRR9EMsf2Kpm2dZmJsvIeZHwhno50aJYGidxLAw"} 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":"2ca03e14b8817c855583f77170c0fdc0"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"462ab92f-3803-48eb-b11d-e18e99cd0173","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.3052783} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ca03e14b8817c855583f77170c0fdc0"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18a75156-143c-4472-9c5d-27d768ed9eda","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.3108654} 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":"2ca03e14b8817c855583f77170c0fdc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"2d8e1d56-5d72-410a-8ec3-372d4b441fb4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.3199594} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4493ac4f-fb97-4287-a7e4-de77ee6489a1","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.3202436} 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":"2ca03e14b8817c855583f77170c0fdc0"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.319929772Z"}]},"request_id":"510f02ad-51c1-4e6f-8211-8267676c52b2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047479.3250024} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ca03e14b8817c855583f77170c0fdc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"2ca03e14b8817c855583f77170c0fdc0","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ca03e14b8817c855583f77170c0fdc0"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cc3e49beebc5b2d1351c5c655d861b3c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9f96c854-d68c-40e4-a053-5205928c080c/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":"cc3e49beebc5b2d1351c5c655d861b3c"} device_1 | {"level":"info","message":"OPTIONS /devices/9f96c854-d68c-40e4-a053-5205928c080c/websocket 200 1ms","method":"OPTIONS","requestID":"cc3e49beebc5b2d1351c5c655d861b3c","responseTime":1,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"378e7a2e093b13efee1b7f180c64923d","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f85aadf23a9df6625bfbc8cd3ee55e1a","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/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":"f85aadf23a9df6625bfbc8cd3ee55e1a"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} device_1 | {"level":"info","message":"OPTIONS /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/websocket 200 1ms","method":"OPTIONS","requestID":"f85aadf23a9df6625bfbc8cd3ee55e1a","responseTime":1,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/websocket"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897804,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"378e7a2e093b13efee1b7f180c64923d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc15a9bd6c239a70cb8c5f869d444a78","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842119,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"bc15a9bd6c239a70cb8c5f869d444a78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/9f96c854-d68c-40e4-a053-5205928c080c/websocket 200 39ms","method":"POST","requestID":"378e7a2e093b13efee1b7f180c64923d","responseTime":39,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/websocket"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9f96c854-d68c-40e4-a053-5205928c080c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"378e7a2e093b13efee1b7f180c64923d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc15a9bd6c239a70cb8c5f869d444a78"} device_1 | {"level":"info","message":"POST /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/websocket 200 42ms","method":"POST","requestID":"bc15a9bd6c239a70cb8c5f869d444a78","responseTime":42,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57d96494ea6bfae39964e278c0f0ace0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008848,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"57d96494ea6bfae39964e278c0f0ace0"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.267012384Z"}]},"request_id":"5e82af14-2efa-4f39-ac0a-0ead1a47f71d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.3979483} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57d96494ea6bfae39964e278c0f0ace0"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 200 13ms","method":"GET","requestID":"57d96494ea6bfae39964e278c0f0ace0","responseTime":13,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 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":"57d96494ea6bfae39964e278c0f0ace0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e6e5e72934b4bdc73faa907940c570c6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000457,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"e6e5e72934b4bdc73faa907940c570c6"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.319929772Z"}]},"request_id":"53acfc66-4f75-40d0-93e0-dbef62b39f76","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.4173973} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6e5e72934b4bdc73faa907940c570c6"},"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/9f96c854-d68c-40e4-a053-5205928c080c? 200 13ms","method":"GET","requestID":"e6e5e72934b4bdc73faa907940c570c6","responseTime":13,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f96c854-d68c-40e4-a053-5205928c080c? 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":"e6e5e72934b4bdc73faa907940c570c6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2210cc629f9a05513143adde756279a","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.043422,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"c2210cc629f9a05513143adde756279a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"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:35942","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853282,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53e1a440-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681886,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"53e1cb50-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.267012384Z"}]},"request_id":"c3f730fc-cfdb-4c76-a7da-81b926423e31","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.4847608} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53e1a440-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.319929772Z"}]},"request_id":"747816da-04c8-437b-9c5a-12b701998ac4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.485518} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53e1cb50-d584-11ee-94df-6bdcf2560c9b"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 200 13ms","method":"GET","requestID":"53e1a440-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9f96c854-d68c-40e4-a053-5205928c080c? 200 13ms","method":"GET","requestID":"53e1cb50-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"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:35942","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190384,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"53ebb660-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.039578,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"53ec0480-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.012191,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19d15fa7-4fc8-4d70-bb28-ddcde46d122b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.5553901} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"53ec52a0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.267012384Z"}]},"request_id":"9ad24e43-4e16-489b-a230-33fed72695c0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.558151} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.319929772Z"}]},"request_id":"f875e735-47d1-4bfe-a081-3ecb673e34f4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.559863} 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":"53ebb660-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53ec0480-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5989b224-befb-4e8b-b747-37675573802b#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5989b224-befb-4e8b-b747-37675573802b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"99d21bd3-98c1-458a-8cd5-60c6d2acee3a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.5674589} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b61bd0e-c9eb-46e9-b728-569c7e9c04ab","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.567659} device_1 | {"level":"info","message":"POST /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling 200 22ms","method":"POST","requestID":"53ec52a0-d584-11ee-94df-6bdcf2560c9b","responseTime":22,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2210cc629f9a05513143adde756279a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"GET /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 200 27ms","method":"GET","requestID":"53ebb660-d584-11ee-94df-6bdcf2560c9b","responseTime":27,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9f96c854-d68c-40e4-a053-5205928c080c? 200 29ms","method":"GET","requestID":"53ec0480-d584-11ee-94df-6bdcf2560c9b","responseTime":29,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c?"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"308405e5-855e-4a16-ab1c-9bad437e7b3a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.576096} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840868,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","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":"53f02330-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"c2210cc629f9a05513143adde756279a","responseTime":150,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5afbccec-864b-4e7f-bc2f-c3056897c733","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.5819607} device_1 | {"level":"info","message":"POST /devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling 200 11ms","method":"POST","requestID":"53f02330-d584-11ee-94df-6bdcf2560c9b","responseTime":11,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +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":"c2210cc629f9a05513143adde756279a"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.68891,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"53f10d90-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"826bac44f7472717b03dcbe0f3fb86a8","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/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling 200 12ms","method":"POST","requestID":"53f10d90-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884484,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"826bac44f7472717b03dcbe0f3fb86a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a569f2-64ea-4992-ac2d-21a611ed0201","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.5947413} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.267012384Z"}]},"request_id":"e438ec17-7c3a-489f-b1e4-1380d422f501","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.5948458} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"826bac44f7472717b03dcbe0f3fb86a8"},"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:35942","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.169187,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","rebac_allow":false,"scope_allow":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":"53f33070-d584-11ee-94df-6bdcf2560c9b"},"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":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 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":"826bac44f7472717b03dcbe0f3fb86a8"} device_1 | {"level":"info","message":"GET /devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9? 200 12ms","method":"GET","requestID":"826bac44f7472717b03dcbe0f3fb86a8","responseTime":12,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling 200 9ms","method":"POST","requestID":"53f33070-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"23d3b583-70ef-4c7d-9ad0-3abf3ef31b03"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"649b755d-6ed7-4558-b414-bd627f006629"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"63f5991d-829f-46f1-8c3a-1c8c8509d4ea"}]},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"142ab66984e810fb512d968b2a5ee525","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.925023,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"53f50530-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74225,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"142ab66984e810fb512d968b2a5ee525"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:39.319929772Z"}]},"request_id":"c11436ae-63b0-4dc0-81d7-fa193489a0bc","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.6146405} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"142ab66984e810fb512d968b2a5ee525"},"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":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f96c854-d68c-40e4-a053-5205928c080c? 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":"142ab66984e810fb512d968b2a5ee525"} device_1 | {"level":"info","message":"GET /devices/9f96c854-d68c-40e4-a053-5205928c080c? 200 13ms","method":"GET","requestID":"142ab66984e810fb512d968b2a5ee525","responseTime":13,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"bdf82092-e05b-46ab-b790-92bdfdb09e68","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.6185832} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da139622-bbf0-4745-97d8-195a507e735b","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.6189127} 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":"53f50530-d584-11ee-94df-6bdcf2560c9b"},"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/17c5607c-24c7-418f-91c8-8b809bdb34c8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8'"} 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":"53f50530-d584-11ee-94df-6bdcf2560c9b","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/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4499ef8e-6c50-401b-b946-48aa4ecaefa3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.670175} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303192,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"53fea220-d584-11ee-94df-6bdcf2560c9b"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling 200 8ms","method":"POST","requestID":"53fea220-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc3896d4-2e8a-4dde-b271-fcd63b2f368c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.680475} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.743917,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","rebac_allow":false,"scope_allow":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":"540028c0-d584-11ee-94df-6bdcf2560c9b"},"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/9f96c854-d68c-40e4-a053-5205928c080c/signaling 200 9ms","method":"POST","requestID":"540028c0-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c321ee1afe86203d291f28133a8acc33","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/551871e2-5280-4fe8-8a8f-9d87d4294ce9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c321ee1afe86203d291f28133a8acc33","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c321ee1afe86203d291f28133a8acc33"} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","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/17c5607c-24c7-418f-91c8-8b809bdb34c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"05426e5a106f35b9a0105e034417ffe4","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/551871e2-5280-4fe8-8a8f-9d87d4294ce9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17c5607c-24c7-418f-91c8-8b809bdb34c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be02216f-131e-421c-8023-ad0403bc73ac","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.8882606} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.77243,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8","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":"541f7090-d584-11ee-94df-6bdcf2560c9b"},"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/17c5607c-24c7-418f-91c8-8b809bdb34c8 200 14ms","method":"GET","requestID":"541f7090-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"05426e5a106f35b9a0105e034417ffe4","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"05426e5a106f35b9a0105e034417ffe4"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2167bf0-d904-488d-ab7b-956ce767a78a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.9240303} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.031914,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"542515e0-d584-11ee-94df-6bdcf2560c9b"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling 200 14ms","method":"POST","requestID":"542515e0-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fcd0ac0-4a2f-4aa7-ac0a-ca94c3f8b1d0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047481.940515} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.728636,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","rebac_allow":false,"scope_allow":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":"542786e0-d584-11ee-94df-6bdcf2560c9b"},"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/9f96c854-d68c-40e4-a053-5205928c080c/signaling 200 12ms","method":"POST","requestID":"542786e0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a22653c0aff211657428377a0ff8e1e7","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5989b224-befb-4e8b-b747-37675573802b"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.769441,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"a22653c0aff211657428377a0ff8e1e7"},"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/5989b224-befb-4e8b-b747-37675573802b"} gateway_1 | {"time_local":"27/Feb/2024:15:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5989b224-befb-4e8b-b747-37675573802b HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a22653c0aff211657428377a0ff8e1e7"} experiment_1 | {"level":"info","message":"GET /experiments/5989b224-befb-4e8b-b747-37675573802b 200 16ms","method":"GET","requestID":"a22653c0aff211657428377a0ff8e1e7","responseTime":16,"status":200,"url":"/experiments/5989b224-befb-4e8b-b747-37675573802b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bd2e331cb6d87ba3cf9e4f7206ccc67","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5989b224-befb-4e8b-b747-37675573802b"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.217531,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:41Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"6bd2e331cb6d87ba3cf9e4f7206ccc67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.220023,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047481,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4MX0.KgW1wfl-OFML47nEU4xnqGwBdfXoKddx9FvVe6fBQBM"} 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":"5432d180-d584-11ee-94df-6bdcf2560c9b"},"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/17c5607c-24c7-418f-91c8-8b809bdb34c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"003e7261e39438ddd5021fdf291caebf","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/551871e2-5280-4fe8-8a8f-9d87d4294ce9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"}}},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5387dafc7c062c73aa8d50f99a98d381","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17c5607c-24c7-418f-91c8-8b809bdb34c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F17c5607c-24c7-418f-91c8-8b809bdb34c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"4a97c1f6-60b6-4689-8fa1-4b34f9184148","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.037507} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aab12334-4d03-4713-b2ba-35c9832783c6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.0404193} 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":"5432d180-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"data":{"peerconnection":"17c5607c-24c7-418f-91c8-8b809bdb34c8","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/17c5607c-24c7-418f-91c8-8b809bdb34c8 204 54ms","method":"DELETE","requestID":"5432d180-d584-11ee-94df-6bdcf2560c9b","responseTime":54,"status":204,"url":"/peerconnections/17c5607c-24c7-418f-91c8-8b809bdb34c8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5989b224-befb-4e8b-b747-37675573802b"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F551871e2-5280-4fe8-8a8f-9d87d4294ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4aeb2f78-6fb1-43a9-b7c2-0c07cd2aaa29","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.0876842} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.050603,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"543df510-d584-11ee-94df-6bdcf2560c9b"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling 200 14ms","method":"POST","requestID":"543df510-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/551871e2-5280-4fe8-8a8f-9d87d4294ce9/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5989b224-befb-4e8b-b747-37675573802b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5989b224-befb-4e8b-b747-37675573802b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"8120b927-fd74-4b2d-8b01-dc6760db67ee","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.0987802} 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9082048-8288-49ac-a20e-3881c3f8601c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.0991352} 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":"6bd2e331cb6d87ba3cf9e4f7206ccc67"},"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:35942","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f96c854-d68c-40e4-a053-5205928c080c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bd69639-d461-4fb3-a190-cbc39d563d1e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.1045327} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.617388,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f96c854-d68c-40e4-a053-5205928c080c","object_type":"device","rebac_allow":false,"scope_allow":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":"54408d20-d584-11ee-94df-6bdcf2560c9b"},"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/9f96c854-d68c-40e4-a053-5205928c080c/signaling 200 14ms","method":"POST","requestID":"54408d20-d584-11ee-94df-6bdcf2560c9b","responseTime":14,"status":200,"url":"/devices/9f96c854-d68c-40e4-a053-5205928c080c/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5989b224-befb-4e8b-b747-37675573802b"} gateway_1 | {"time_local":"27/Feb/2024:15:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5989b224-befb-4e8b-b747-37675573802b 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":"6bd2e331cb6d87ba3cf9e4f7206ccc67"} experiment_1 | {"level":"info","message":"DELETE /experiments/5989b224-befb-4e8b-b747-37675573802b 204 172ms","method":"DELETE","requestID":"6bd2e331cb6d87ba3cf9e4f7206ccc67","responseTime":172,"status":204,"url":"/experiments/5989b224-befb-4e8b-b747-37675573802b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"003e7261e39438ddd5021fdf291caebf","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"003e7261e39438ddd5021fdf291caebf"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"5387dafc7c062c73aa8d50f99a98d381","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"5387dafc7c062c73aa8d50f99a98d381"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Mn0.o-Af9B8bxoc2_i1dn6r_gGkIrka50KeTc2M8i3bSJm4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"31d0fcb43e23556b1f9034bb579e8a2a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"27/Feb/2024:15:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"0.802","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3e855faf132480e4093c43e4ad795261"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940066,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:42Z"} gateway_1 | {"time_local":"27/Feb/2024:15:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"0.819","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"935ca1da74b345a218fde11931253cf6"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047482,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Mn0.o-Af9B8bxoc2_i1dn6r_gGkIrka50KeTc2M8i3bSJm4"} 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":"31d0fcb43e23556b1f9034bb579e8a2a"},"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/551871e2-5280-4fe8-8a8f-9d87d4294ce9' 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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"205b9ce2-992f-4be1-805d-657b480aa426","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.1965747} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31d0fcb43e23556b1f9034bb579e8a2a"},"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/9f96c854-d68c-40e4-a053-5205928c080c' 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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8f0ae1e-ba1d-4ef8-847f-520e6e0c5fd4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2029474} 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":"31d0fcb43e23556b1f9034bb579e8a2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"dd8f2ea1-52d8-4b06-bfa6-f3d0f269357e","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2124102} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6af183e2-3f4c-491c-bf4e-209dcaf8689d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2124608} 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":"31d0fcb43e23556b1f9034bb579e8a2a"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.212381729Z"}]},"request_id":"c3bf684d-a49b-436d-9cb5-c97efd71b780","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2168138} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31d0fcb43e23556b1f9034bb579e8a2a"},"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 48ms","method":"POST","requestID":"31d0fcb43e23556b1f9034bb579e8a2a","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31d0fcb43e23556b1f9034bb579e8a2a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Mn0.o-Af9B8bxoc2_i1dn6r_gGkIrka50KeTc2M8i3bSJm4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b7cee0f3b4a43bcc9eac9fefe571024","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.732807,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047482,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Mn0.o-Af9B8bxoc2_i1dn6r_gGkIrka50KeTc2M8i3bSJm4"} 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":"9b7cee0f3b4a43bcc9eac9fefe571024"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d686aa97-38db-445e-99f1-f83b685caa99","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2418709} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b7cee0f3b4a43bcc9eac9fefe571024"},"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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5179df2c-8fa9-4258-b811-3e0a084af4e6","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2466648} 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":"9b7cee0f3b4a43bcc9eac9fefe571024"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"90e4f33b-c88d-40db-a917-cdd6bdf70eba","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2574642} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7becf768-bd60-4024-8d3e-821269ec0b2d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2576466} 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":"9b7cee0f3b4a43bcc9eac9fefe571024"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"d6ef87ae-7a9c-4fd5-bcf9-687d26a202fd","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047482.2628758} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b7cee0f3b4a43bcc9eac9fefe571024"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"9b7cee0f3b4a43bcc9eac9fefe571024","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b7cee0f3b4a43bcc9eac9fefe571024"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b125853441d2613b2eff62601fee5c5c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/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":"b125853441d2613b2eff62601fee5c5c"} device_1 | {"level":"info","message":"OPTIONS /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/websocket 200 1ms","method":"OPTIONS","requestID":"b125853441d2613b2eff62601fee5c5c","responseTime":1,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8246a2c0434a85f4070b8e78c63551b8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160671,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8246a2c0434a85f4070b8e78c63551b8"},"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":"27/Feb/2024:15:24:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/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":"8246a2c0434a85f4070b8e78c63551b8"} device_1 | {"level":"info","message":"POST /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/websocket 200 25ms","method":"POST","requestID":"8246a2c0434a85f4070b8e78c63551b8","responseTime":25,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04fb6b211cf4aae5e929eca7f87fb211","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269102,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04fb6b211cf4aae5e929eca7f87fb211"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"0b0b204d-c5b0-46cb-9658-6bf69e518004","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.327519} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04fb6b211cf4aae5e929eca7f87fb211"},"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":"27/Feb/2024:15:24:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 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":"04fb6b211cf4aae5e929eca7f87fb211"} device_1 | {"level":"info","message":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 200 18ms","method":"GET","requestID":"04fb6b211cf4aae5e929eca7f87fb211","responseTime":18,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"68ea280efe35fbddddbf4e0f33316f23","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:35942","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.689005,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"68ea280efe35fbddddbf4e0f33316f23"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"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:35942","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206211,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"559f0bb0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.00166,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"559f32c0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e48c483-b52c-41d6-83a5-f2ef6c99349b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.212381729Z"}]},"request_id":"aa8a91f4-3c29-4c3f-ba42-d4cab27c01b8","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.407185} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"559f0bb0-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"24879b7e-9bac-446f-801a-461880a684ae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.4085422} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"559f32c0-d584-11ee-94df-6bdcf2560c9b"},"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/7e48c483-b52c-41d6-83a5-f2ef6c99349b? 200 20ms","method":"GET","requestID":"559f0bb0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 200 20ms","method":"GET","requestID":"559f32c0-d584-11ee-94df-6bdcf2560c9b","responseTime":20,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.446397,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55a54d40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"a8eefff5-e018-46b9-b7f6-13323ed82ac4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.473319} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"733d0f8d-de8e-4979-957d-c5ab7be1cc1a","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.4737997} 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":"55a54d40-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 18ms","method":"POST","requestID":"55aca040-d584-11ee-98b5-0586b8c974ce","responseTime":18,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 74ms","method":"POST","requestID":"55a54d40-d584-11ee-94df-6bdcf2560c9b","responseTime":74,"status":201,"url":"/devices/7e48c483-b52c-41d6-83a5-f2ef6c99349b?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"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/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.526843,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"55b92360-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35946","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.548234,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"55b97180-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:49268","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.830943,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baf7481e-6990-4830-ab6e-bc1a5a8aa996","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.5830297} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55b9bfa0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:44.473264952Z"}]},"request_id":"8a59584d-a6b3-4b02-b4ae-6d606940574d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.5874872} 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":"55b92360-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"93326380-34fb-4289-aa4a-727cf9772bd3","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.5926197} device_1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 8541ac7d-161b-4453-b2fb-ec5283e4011d","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 8541ac7d-161b-4453-b2fb-ec5283e4011d\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/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"55b9bfa0-d584-11ee-94df-6bdcf2560c9b"} 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":"55b97180-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"POST /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling 404 25ms","method":"POST","requestID":"55b9bfa0-d584-11ee-94df-6bdcf2560c9b","responseTime":25,"status":404,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"} experiment_1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 8541ac7d-161b-4453-b2fb-ec5283e4011d"},"status":404}},"level":"error","message":"Could not send status-update message"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2965c5b-b2d9-4d30-8311-42a16364c7b2#owner@http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2965c5b-b2d9-4d30-8311-42a16364c7b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"70480978-3431-4bc7-b173-8eee56d8b055","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.5998566} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4c8460c-149e-49b6-9585-4d5798ce8a30","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.6002233} 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":"68ea280efe35fbddddbf4e0f33316f23"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:44Z"} device_1 | {"level":"info","message":"GET /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d? 200 43ms","method":"GET","requestID":"55b92360-d584-11ee-94df-6bdcf2560c9b","responseTime":43,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 200 43ms","method":"GET","requestID":"55b97180-d584-11ee-94df-6bdcf2560c9b","responseTime":43,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170?"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"989f241c-b641-4a1c-9bb0-24027842ca25","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047484.612404} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.532129,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","rebac_allow":false,"scope_allow":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":"55bec8b0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2","user":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling 200 18ms","method":"POST","requestID":"55bec8b0-d584-11ee-94df-6bdcf2560c9b","responseTime":18,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 276ms","method":"POST","requestID":"68ea280efe35fbddddbf4e0f33316f23","responseTime":276,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"27/Feb/2024:15:24:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.299","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68ea280efe35fbddddbf4e0f33316f23"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b69feb1304ccd28ea6a1c2ee16f3c302","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"27/Feb/2024:15:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/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":"b69feb1304ccd28ea6a1c2ee16f3c302"} device_1 | {"level":"info","message":"OPTIONS /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/websocket 200 1ms","method":"OPTIONS","requestID":"b69feb1304ccd28ea6a1c2ee16f3c302","responseTime":1,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6Ii1ldTNBWEpyTExlOXRRZlV5czFMZ1dSbHhrczZuQ1VpaFBZaEhhU1NKbUM5YzFmVFBMdEkydmUzZ2lHaEY4b3pKeUpaLVREdVRjOHJTNEVpdVpwMjhRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.tjOXxtnJvBvzG-LIX4n01cosxGBt2d2lV1BZcBfCS5c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c01829751cc6c0c01cb5582b51853cf0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347633,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","payload":{"admin":true,"edgeToken":"-eu3AXJrLLe9tQfUys1LgWRlxks6nCUihPYhHaSSJmC9c1fTPLtI2ve3giGhF8ozJyJZ-TDuTc8rS4EiuZp28Q","iat":1709047486,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6Ii1ldTNBWEpyTExlOXRRZlV5czFMZ1dSbHhrczZuQ1VpaFBZaEhhU1NKbUM5YzFmVFBMdEkydmUzZ2lHaEY4b3pKeUpaLVREdVRjOHJTNEVpdVpwMjhRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.tjOXxtnJvBvzG-LIX4n01cosxGBt2d2lV1BZcBfCS5c"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c01829751cc6c0c01cb5582b51853cf0"},"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":"27/Feb/2024:15:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c01829751cc6c0c01cb5582b51853cf0"} device_1 | {"level":"info","message":"POST /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/websocket 200 40ms","method":"POST","requestID":"c01829751cc6c0c01cb5582b51853cf0","responseTime":40,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61dba08de92d84d9bf7cf904a158650e","responseTime":4,"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/8541ac7d-161b-4453-b2fb-ec5283e4011d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.6TyfhNk38N4UWqCcfKJi-XJt0c83yHe8ZC1UOhfcIMo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"97d730a7a3c27c212f4dd76f9b718f8d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169481,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047486,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.6TyfhNk38N4UWqCcfKJi-XJt0c83yHe8ZC1UOhfcIMo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97d730a7a3c27c212f4dd76f9b718f8d"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:44.473264952Z"}]},"request_id":"d27436b5-c3e7-44e9-b747-6c0e555dc6ff","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047486.7402043} 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":"97d730a7a3c27c212f4dd76f9b718f8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"61dba08de92d84d9bf7cf904a158650e","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"61dba08de92d84d9bf7cf904a158650e"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"27/Feb/2024:15:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97d730a7a3c27c212f4dd76f9b718f8d"} device_1 | {"level":"info","message":"GET /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d? 200 23ms","method":"GET","requestID":"97d730a7a3c27c212f4dd76f9b718f8d","responseTime":23,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.6TyfhNk38N4UWqCcfKJi-XJt0c83yHe8ZC1UOhfcIMo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f8c3831cfa700df19ed152449a666aed","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2999,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047486,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4Nn0.6TyfhNk38N4UWqCcfKJi-XJt0c83yHe8ZC1UOhfcIMo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8c3831cfa700df19ed152449a666aed"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"4f895b1b-5ec7-48a7-b322-34ebfd3e6f02","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047486.7723763} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8c3831cfa700df19ed152449a666aed"},"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":"27/Feb/2024:15:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 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":"f8c3831cfa700df19ed152449a666aed"} device_1 | {"level":"info","message":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 200 19ms","method":"GET","requestID":"f8c3831cfa700df19ed152449a666aed","responseTime":19,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170?"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134981,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"58bc5140-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53218","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"client_addr":"127.0.0.1:53218","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.641588,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} 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":"58bc9f60-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:44.473264952Z"}]},"request_id":"241924f5-130e-4542-a424-8b725fee4d6c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.6387389} 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":"58bc5140-d584-11ee-94df-6bdcf2560c9b"},"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:60170","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"},"timestamp":"2024-02-27T15:24:42.257441345Z"}]},"request_id":"1b79b01a-7b23-4c05-9915-1880c960fc6f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.6408195} 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":"58bc9f60-d584-11ee-94df-6bdcf2560c9b"},"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/8541ac7d-161b-4453-b2fb-ec5283e4011d? 200 31ms","method":"GET","requestID":"58bc5140-d584-11ee-94df-6bdcf2560c9b","responseTime":31,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e4ea9ba5-b623-4cca-9d33-7490557a2170? 200 31ms","method":"GET","requestID":"58bc9f60-d584-11ee-94df-6bdcf2560c9b","responseTime":31,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4d6ffad-1d54-4866-aaa9-ca4bc55ab0ce","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.6645427} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.119655,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","rebac_allow":false,"scope_allow":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":"58c1f690-d584-11ee-94df-6bdcf2560c9b"},"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/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling 200 16ms","method":"POST","requestID":"58c1f690-d584-11ee-94df-6bdcf2560c9b","responseTime":16,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9525437a-d9df-43b4-80b5-abf1cf869879","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.6841745} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.091859,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","rebac_allow":false,"scope_allow":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":"58c503d0-d584-11ee-94df-6bdcf2560c9b"},"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/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling 200 15ms","method":"POST","requestID":"58c503d0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b0f0b359-2e38-42fb-aeb3-315cdd5bf54d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e3fadb9a-21a8-4089-ac51-8631cb153b45"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6ebee758-2e02-4625-9b8e-d0b433a4bdb3"}]},"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/e4ea9ba5-b623-4cca-9d33-7490557a2170"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.568728,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047484,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ4NH0.IRqun3v1l73Y6HKwiNDt1P3bu07HR_V22pHkQnljCXE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58c7ea00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","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%2F792103a0-8826-48d1-b7e8-0e01974878c7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]}},"raw_response":{},"request_id":"9d4f78c4-4118-4bc5-a2c1-d06f43d5e3ae","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.71619} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"477ddadd-5a00-47ad-88f4-5f4b0fe28c4f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.7166464} 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":"58c7ea00-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b'"} 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 64ms","method":"POST","requestID":"58c7ea00-d584-11ee-94df-6bdcf2560c9b","responseTime":64,"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/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6629854-fb88-4c29-afe3-9ba2e91761a2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.8033712} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.208499,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","rebac_allow":false,"scope_allow":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":"58d75350-d584-11ee-94df-6bdcf2560c9b"},"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/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling 200 13ms","method":"POST","requestID":"58d75350-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a06fe5a-2e6f-4af3-b748-b1573f8ee2e9","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047489.8169186} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207604,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:49Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","rebac_allow":false,"scope_allow":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":"58d99d40-d584-11ee-94df-6bdcf2560c9b"},"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/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling 200 8ms","method":"POST","requestID":"58d99d40-d584-11ee-94df-6bdcf2560c9b","responseTime":8,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b7f7e836a6fc7e380d881a56c4361da","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2b7f7e836a6fc7e380d881a56c4361da","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b7f7e836a6fc7e380d881a56c4361da"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","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/bfad04ff-4f8b-420a-bbbf-db59ef5e084b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"008ff5497e714b9b49698b18bc1d0eb4","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/e4ea9ba5-b623-4cca-9d33-7490557a2170"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfad04ff-4f8b-420a-bbbf-db59ef5e084b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"039f84ce-c0f6-4329-aa56-ff69fdb9f53c","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.0316684} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.016926,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b","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":"58f9f680-d584-11ee-94df-6bdcf2560c9b"},"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/bfad04ff-4f8b-420a-bbbf-db59ef5e084b 200 13ms","method":"GET","requestID":"58f9f680-d584-11ee-94df-6bdcf2560c9b","responseTime":13,"status":200,"url":"/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"008ff5497e714b9b49698b18bc1d0eb4","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"008ff5497e714b9b49698b18bc1d0eb4"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c2adc90-adee-415d-bed3-e75b3dd39450","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.0659592} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557804,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","rebac_allow":false,"scope_allow":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":"58ff74c0-d584-11ee-94df-6bdcf2560c9b"},"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/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling 200 10ms","method":"POST","requestID":"58ff74c0-d584-11ee-94df-6bdcf2560c9b","responseTime":10,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbdf6301-9c14-4bb5-b660-9456c2dda8a5","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.0772772} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497597,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","rebac_allow":false,"scope_allow":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":"59014980-d584-11ee-94df-6bdcf2560c9b"},"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/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling 200 9ms","method":"POST","requestID":"59014980-d584-11ee-94df-6bdcf2560c9b","responseTime":9,"status":200,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2343297ae14f186cd79be012cec2d090","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.40979,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047490,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk"} 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":"2343297ae14f186cd79be012cec2d090"},"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/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} gateway_1 | {"time_local":"27/Feb/2024:15:24:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2343297ae14f186cd79be012cec2d090"} experiment_1 | {"level":"info","message":"GET /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2 200 17ms","method":"GET","requestID":"2343297ae14f186cd79be012cec2d090","responseTime":17,"status":200,"url":"/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b189acf4241260bf0976e223831d90ea","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.23967,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"experiment:http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047490,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk"} 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":"b189acf4241260bf0976e223831d90ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.189564,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"peerconnection:http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047490,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk"} 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":"590ce240-d584-11ee-94df-6bdcf2560c9b"},"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/bfad04ff-4f8b-420a-bbbf-db59ef5e084b' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfad04ff-4f8b-420a-bbbf-db59ef5e084b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfad04ff-4f8b-420a-bbbf-db59ef5e084b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"4a80a7e5-bd80-40a0-8d3e-e1b918972ee4","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.1739633} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a4611066dc07bcefef61dbe47e22a699","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:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29681244-f8a6-4ff4-90e7-77fd50e729cb","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.1764007} 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/e4ea9ba5-b623-4cca-9d33-7490557a2170"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"590ce240-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edef223298f4514c6e0bb0ecc0a86fa1","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/e4ea9ba5-b623-4cca-9d33-7490557a2170"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"bfad04ff-4f8b-420a-bbbf-db59ef5e084b","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/bfad04ff-4f8b-420a-bbbf-db59ef5e084b 204 58ms","method":"DELETE","requestID":"590ce240-d584-11ee-94df-6bdcf2560c9b","responseTime":58,"status":204,"url":"/peerconnections/bfad04ff-4f8b-420a-bbbf-db59ef5e084b"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235974,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","payload":{"admin":true,"edgeToken":"YNzgXhWzPoCJCxYvF9D2QK8UDZA_JaPowY1EwDx85HIs13WwNOHXfXG8BochLuB9j3M3mVcyCUh1Pls-nToJdw","iat":1709047490,"sub":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7","subject_alt":"http://localhost/users/792103a0-8826-48d1-b7e8-0e01974878c7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzc5MjEwM2EwLTg4MjYtNDhkMS1iN2U4LTBlMDE5NzQ4NzhjNyIsImVkZ2VUb2tlbiI6IllOemdYaFd6UG9DSkN4WXZGOUQyUUs4VURaQV9KYVBvd1kxRXdEeDg1SElzMTNXd05PSFhmWEc4Qm9jaEx1QjlqM00zbVZjeUNVaDFQbHMtblRvSmR3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwOTA0NzQ5MH0.JT6-wPFRHQQNGxrNfBkJCrB6VKsEp6VIuyV3asXzGSk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59163110-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"22001db6-c785-41f8-a794-4cbbb2f2ed9f","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.2276227} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f91a331a-eee2-435d-aa5c-f27eef97a2a2","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.228001} 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":"59163110-d584-11ee-94df-6bdcf2560c9b"},"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/8541ac7d-161b-4453-b2fb-ec5283e4011d 204 36ms","method":"DELETE","requestID":"59163110-d584-11ee-94df-6bdcf2560c9b","responseTime":36,"status":204,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4ea9ba5-b623-4cca-9d33-7490557a2170","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"026e485f-e811-4996-8002-071cec7efb70","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.275488} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.588946,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170","object_type":"device","rebac_allow":false,"scope_allow":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":"591f31c0-d584-11ee-94df-6bdcf2560c9b"},"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/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling 200 15ms","method":"POST","requestID":"591f31c0-d584-11ee-94df-6bdcf2560c9b","responseTime":15,"status":200,"url":"/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170/signaling"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2965c5b-b2d9-4d30-8311-42a16364c7b2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2965c5b-b2d9-4d30-8311-42a16364c7b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F792103a0-8826-48d1-b7e8-0e01974878c7"}]},"store_id":"01HQNJK687KQG2QW73FFNB40JY","writes":null},"raw_response":{},"request_id":"34a0ed7c-73ef-4ffb-9fd1-b6884b8ba3b0","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.2842667} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"id":"01HQNJK69T22AZEDB47QAV5DSD","store_id":"01HQNJK687KQG2QW73FFNB40JY"},"raw_response":{"authorization_model":{"id":"01HQNJK69T22AZEDB47QAV5DSD","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4da40cb-e91e-4e32-8057-80769472bf0d","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.284645} 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":"b189acf4241260bf0976e223831d90ea"},"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:35942","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:60170","raw_request":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","contextual_tuples":null,"store_id":"01HQNJK687KQG2QW73FFNB40JY","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8541ac7d-161b-4453-b2fb-ec5283e4011d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21562a5e-2aec-4b12-bb93-2e29d6224e01","store_id":"01HQNJK687KQG2QW73FFNB40JY","subsystem":"openfga","timestamp":1709047490.2911754} authorization_1 | {"client_addr":"127.0.0.1:35942","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.042597,"resp_status":200,"subsystem":"opa","time":"2024-02-27T15:24:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","openfga":{"authorization_model_id":"01HQNJK69T22AZEDB47QAV5DSD","store":"01HQNJK687KQG2QW73FFNB40JY"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d","object_type":"device","rebac_allow":false,"scope_allow":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":"5921f0e0-d584-11ee-94df-6bdcf2560c9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"5921f0e0-d584-11ee-94df-6bdcf2560c9b"} device_1 | {"level":"info","message":"POST /devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/signaling 404 12ms","method":"POST","requestID":"5921f0e0-d584-11ee-94df-6bdcf2560c9b","responseTime":12,"status":404,"url":"/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d/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/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} gateway_1 | {"time_local":"27/Feb/2024:15:24:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.223","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b189acf4241260bf0976e223831d90ea"} experiment_1 | {"level":"info","message":"DELETE /experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2 204 219ms","method":"DELETE","requestID":"b189acf4241260bf0976e223831d90ea","responseTime":219,"status":204,"url":"/experiments/f2965c5b-b2d9-4d30-8311-42a16364c7b2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 177ms","method":"POST","requestID":"a4611066dc07bcefef61dbe47e22a699","responseTime":177,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 175ms","method":"POST","requestID":"edef223298f4514c6e0bb0ecc0a86fa1","responseTime":175,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"a4611066dc07bcefef61dbe47e22a699"} gateway_1 | {"time_local":"27/Feb/2024:15:24: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"edef223298f4514c6e0bb0ecc0a86fa1"} gateway_1 | {"time_local":"27/Feb/2024:15:24:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1686","request_time":"3.660","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"20fec1c18c31ccda0c5114200a9246e9"} gateway_1 | {"time_local":"27/Feb/2024:15:24:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"6.068","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"371c9131c7ea5d9b65e84f74a52fcbea"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4ea9ba5-b623-4cca-9d33-7490557a2170' closed"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8541ac7d-161b-4453-b2fb-ec5283e4011d' closed"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e3e695a3414d4497911a99c34284be37","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/8541ac7d-161b-4453-b2fb-ec5283e4011d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"e3e695a3414d4497911a99c34284be37","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"27/Feb/2024:15:24:50 +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.004","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3e695a3414d4497911a99c34284be37"} integration-test_experiment_1 exited with code 143 integration-test_authorization_1 exited with code 0 integration-test_federation_1 exited with code 143 integration-test_device_1 exited with code 143 integration-test_authentication_1 exited with code 143 integration-test_gateway_1 exited with code 0