Creating integration-test_gateway_1 ... Creating integration-test_authentication_1 ... Creating integration-test_authorization_1 ... Creating integration-test_device_1 ... Creating integration-test_federation_1 ... Creating integration-test_experiment_1 ... Creating integration-test_experiment_1 ... done Creating integration-test_federation_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_device_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_authorization_1 ... done Attaching to integration-test_experiment_1, integration-test_federation_1, integration-test_gateway_1, integration-test_device_1, integration-test_authentication_1, integration-test_authorization_1 authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation_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","message":"Federation Service started successfully"} gateway_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ 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 experiment_1 | {"level":"info","message":"Experiment Service started successfully"} 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 authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-04-14T22:14:43Z"} authorization_1 | {"client_addr":"127.0.0.1:50008","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-04-14T22:14:43Z"} authorization_1 | {"client_addr":"127.0.0.1:50008","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.330811,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:14:43Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1713132883.9496288} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1713132883.9497528} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1713132883.9498065} 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":1713132883.949838} 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":1713132883.9498644} 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":1713132883.9499578,"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":1713132883.9508362} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1713132883.9519556} 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:36704","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-04-14T22:14:43.969122337Z","id":"01HVFATM01TTTJE98YG5RWJVZA","name":"crosslab","updated_at":"2024-04-14T22:14:43.969122337Z"},"request_id":"3ebf2b25-3248-4526-b263-5b561d9c6541","subsystem":"openfga","timestamp":1713132883.9692197} 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:36704","raw_request":{"schema_version":"1.1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HVFATM16TVWDJCZFA6EK6NPM"},"request_id":"78cab6b7-1d39-4f2f-9891-4f5c9a95639a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132884.0066528} authorization_1 | {"client_addr":"127.0.0.1:50008","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-04-14T22:14:44Z"} authorization_1 | {"client_addr":"127.0.0.1:50008","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.178856,"resp_status":204,"subsystem":"opa","time":"2024-04-14T22:14:44Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.63.0/opa_linux_amd64","latest_version":"0.63.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.63.0","subsystem":"opa","time":"2024-04-14T22:14:44Z"} gateway_1 | {"time_local":"14/Apr/2024:22:14:58 +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":"42a84ee38fd8cd70a4c33c534babbd7d"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 15ms","method":"HEAD","requestID":"42a84ee38fd8cd70a4c33c534babbd7d","responseTime":15,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"14/Apr/2024:22:14:58 +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.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"04d96031486f574fe15ca6a3d5d97166"} device_1 | {"level":"info","message":"HEAD /device/status 200 14ms","method":"HEAD","requestID":"6e2a2a00-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"14/Apr/2024:22:14:58 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9cb53adbf77375203ba4e9146967a760"} 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":"9cb53adbf77375203ba4e9146967a760"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"14/Apr/2024:22:14:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"39addabc08b250f9c181df8e367e1b03"} federation_1 | {"level":"info","message":"HEAD /federation/status 200 11ms","method":"HEAD","requestID":"6e312ee0-faac-11ee-8af8-598f8b3e39d1","responseTime":11,"status":200,"url":"/federation/status"} gateway_1 | {"time_local":"14/Apr/2024:22:14:58 +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.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6204f100063ad467b2cfe03241e893ad"} experiment_1 | {"level":"info","message":"HEAD /experiment/status 200 16ms","method":"HEAD","requestID":"6e3574a0-faac-11ee-9c49-6b83405fcfee","responseTime":16,"status":200,"url":"/experiment/status"} authentication_1 | {"level":"info","message":"POST /login 201 109ms","method":"POST","requestID":"87387f5b21c24a566ff2dbac1f328a3c","responseTime":109,"status":201,"url":"/login"} gateway_1 | {"time_local":"14/Apr/2024:22:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87387f5b21c24a566ff2dbac1f328a3c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwMX0.nBIPrpSJtL1QghjeHpL8mLqXOOl-Rk2-irrr4Af4h0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 77ms","method":"GET","requestID":"a11d005cc09202fc5a6ac627afe97d4d","responseTime":77,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.52116,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132901,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwMX0.nBIPrpSJtL1QghjeHpL8mLqXOOl-Rk2-irrr4Af4h0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a11d005cc09202fc5a6ac627afe97d4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7ebd946e-2075-4b24-a920-ad038ae78572","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.0523088} 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":"a11d005cc09202fc5a6ac627afe97d4d"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e711643-48fe-43b9-b626-a42452b829bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.0674353} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a11d005cc09202fc5a6ac627afe97d4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"d7657fe9-9eb9-4bee-af52-48d9769c97c4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.114392} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57af4bdc-e16e-4a67-894b-70e9c20f03b4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.115234} authorization_1 | {"level":"info","message":"POST /relations/update 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a11d005cc09202fc5a6ac627afe97d4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.114340694Z"}]},"request_id":"5c4bb691-e61a-4400-a4ab-593744077f59","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.131234} 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":"a11d005cc09202fc5a6ac627afe97d4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 322ms","method":"POST","requestID":"a11d005cc09202fc5a6ac627afe97d4d","responseTime":322,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.437","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a11d005cc09202fc5a6ac627afe97d4d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwMn0.daQD1MREbSrqIVTgAUGTu_7VjPBFbq18pawBpqEtrQI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2839c45cffb964a9cf571047be49fd47","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.161176,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132902,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwMn0.daQD1MREbSrqIVTgAUGTu_7VjPBFbq18pawBpqEtrQI"} 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":"2839c45cffb964a9cf571047be49fd47"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d86e14fd-67d5-4c01-9a5e-ff5ac3435d6d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.2537022} 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":"2839c45cffb964a9cf571047be49fd47"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"565fa4f4-1552-470f-9950-f877bc1f472d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.2674062} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2839c45cffb964a9cf571047be49fd47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"f232053b-e337-4e5c-83be-f00e63147cc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.3453922} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95a7eb7c-30e9-4a0a-ab9b-13d91e175136","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.3457167} authorization_1 | {"level":"info","message":"POST /relations/update 200 83ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2839c45cffb964a9cf571047be49fd47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":83}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.345371557Z"}]},"request_id":"13e43c96-d64f-41b5-9506-1a1c39ae7c21","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132902.360484} 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":"2839c45cffb964a9cf571047be49fd47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 185ms","method":"POST","requestID":"2839c45cffb964a9cf571047be49fd47","responseTime":185,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2839c45cffb964a9cf571047be49fd47"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c684806b00e3067092dca81b129f46b","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00fcb42b813e34550a82d644d997adbd","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c684806b00e3067092dca81b129f46b"} device_1 | {"level":"info","message":"OPTIONS /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket 200 3ms","method":"OPTIONS","requestID":"1c684806b00e3067092dca81b129f46b","responseTime":3,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"00fcb42b813e34550a82d644d997adbd"} device_1 | {"level":"info","message":"OPTIONS /devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket 200 1ms","method":"OPTIONS","requestID":"00fcb42b813e34550a82d644d997adbd","responseTime":1,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNX0.tBV_jWkR7Uur05kqDmui8CUXJ9cBMBtzWrd7QhOVbNA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"12d8b60c79c0182a86abb985076ed9a2","responseTime":12,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNX0.tBV_jWkR7Uur05kqDmui8CUXJ9cBMBtzWrd7QhOVbNA","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"4819f49fcbacf46dbf0b853ea1670392","responseTime":12,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.634716,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132905,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNX0.tBV_jWkR7Uur05kqDmui8CUXJ9cBMBtzWrd7QhOVbNA"} 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":"12d8b60c79c0182a86abb985076ed9a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:05Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.05541,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132905,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNX0.tBV_jWkR7Uur05kqDmui8CUXJ9cBMBtzWrd7QhOVbNA"} 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":"4819f49fcbacf46dbf0b853ea1670392"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.096","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4819f49fcbacf46dbf0b853ea1670392"} device_1 | {"level":"info","message":"POST /devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket 200 77ms","method":"POST","requestID":"4819f49fcbacf46dbf0b853ea1670392","responseTime":77,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.103","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12d8b60c79c0182a86abb985076ed9a2"} device_1 | {"level":"info","message":"POST /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket 200 87ms","method":"POST","requestID":"12d8b60c79c0182a86abb985076ed9a2","responseTime":87,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"f8c8bdafb7e02767480af9ebd818d373","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.638438,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"f8c8bdafb7e02767480af9ebd818d373"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.114340694Z"}]},"request_id":"027fafc8-dab0-4a7e-b095-82d541e4967f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.115663} 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":"f8c8bdafb7e02767480af9ebd818d373"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc81d631-092d-4066-80f6-d801b8b54191? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8c8bdafb7e02767480af9ebd818d373"} device_1 | {"level":"info","message":"GET /devices/dc81d631-092d-4066-80f6-d801b8b54191? 200 50ms","method":"GET","requestID":"f8c8bdafb7e02767480af9ebd818d373","responseTime":50,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"cfe3b92097068e07b9eaee7627bed721","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.442117,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"cfe3b92097068e07b9eaee7627bed721"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.345371557Z"}]},"request_id":"c994a94e-278c-4287-910c-d4b8f80cf5cf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.1776226} 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":"cfe3b92097068e07b9eaee7627bed721"},"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":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cfe3b92097068e07b9eaee7627bed721"} device_1 | {"level":"info","message":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? 200 30ms","method":"GET","requestID":"cfe3b92097068e07b9eaee7627bed721","responseTime":30,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"6483f336ba208c47b60d6e13d5fa7ece","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:35260","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.969922,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6483f336ba208c47b60d6e13d5fa7ece"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"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:35260","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926504,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"72e80030-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891785,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"72e84e50-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.114340694Z"}]},"request_id":"f1d023d1-4ec9-4829-9666-e06e0707c2db","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.4353561} 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":"72e80030-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.345371557Z"}]},"request_id":"19641912-5cb9-4786-91f4-a2512d0022e0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.4380107} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e84e50-faac-11ee-adee-eb1d2c4f6619"},"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/dc81d631-092d-4066-80f6-d801b8b54191? 200 28ms","method":"GET","requestID":"72e80030-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? 200 27ms","method":"GET","requestID":"72e84e50-faac-11ee-adee-eb1d2c4f6619","responseTime":27,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"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:35260","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267107,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"72fd0ed0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950126,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"72fd5cf0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.540051,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"974037f6-8953-48e3-89c0-fd7c66047d4e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.5804324} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","rebac_allow":false,"scope_allow":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":"72fdd220-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.345371557Z"}]},"request_id":"2265e404-379f-4445-b8f2-e56d9c82ad02","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.5846431} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72fd5cf0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"POST /devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling 200 33ms","method":"POST","requestID":"72fdd220-faac-11ee-adee-eb1d2c4f6619","responseTime":33,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.114340694Z"}]},"request_id":"ee2f8c50-be6b-4896-8cf5-a4c7a665e73c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.5938754} device_1 | {"level":"info","message":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? 200 42ms","method":"GET","requestID":"72fd5cf0-faac-11ee-adee-eb1d2c4f6619","responseTime":42,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72fd0ed0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8d037ea-6589-410c-96e2-438fd01d9a89#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8d037ea-6589-410c-96e2-438fd01d9a89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"68d2f584-9f54-4792-9cdf-2c10335234aa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6003091} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe1fef21-9a68-4069-b1f3-133a1ba2acad","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6074939} device_1 | {"level":"info","message":"GET /devices/dc81d631-092d-4066-80f6-d801b8b54191? 200 53ms","method":"GET","requestID":"72fd0ed0-faac-11ee-adee-eb1d2c4f6619","responseTime":53,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191?"} authorization_1 | {"level":"info","message":"POST /relations/update 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6483f336ba208c47b60d6e13d5fa7ece"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"985fe384-8785-45b5-89f2-ecc881a28bf4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6113467} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.501419,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","rebac_allow":false,"scope_allow":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":"7303eca0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling 200 21ms","method":"POST","requestID":"7303eca0-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0364912-92c5-43dc-a366-df572b7cb412","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6241922} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.808719,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","rebac_allow":false,"scope_allow":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":"7305e870-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment_1 | {"level":"info","message":"POST /experiments? 201 407ms","method":"POST","requestID":"6483f336ba208c47b60d6e13d5fa7ece","responseTime":407,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling 200 17ms","method":"POST","requestID":"7305e870-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling"} gateway_1 | {"time_local":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.443","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6483f336ba208c47b60d6e13d5fa7ece"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"77fdd246cc779e54156f8bde790ab6a0","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec6d3253-ba38-493d-aa49-589b104fe3cf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6442533} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.410698,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","rebac_allow":false,"scope_allow":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":"73096ae0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747568,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling 200 12ms","method":"POST","requestID":"73096ae0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77fdd246cc779e54156f8bde790ab6a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"791c9d8e-def4-4ab5-96a2-43e9882ca6c4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"16a2c7fc-149f-41dc-9bb2-840c8b6559fc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a2d7fdb3-2747-42cc-83d9-d6f82e7316ed"}]},"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/65d24541-e870-4c65-a3a4-9cdf3cdccf37"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191"}],"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.114340694Z"}]},"request_id":"388c6020-d716-4629-808a-7177a528ddf1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6559162} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77fdd246cc779e54156f8bde790ab6a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.788053,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc81d631-092d-4066-80f6-d801b8b54191? 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":"77fdd246cc779e54156f8bde790ab6a0"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} device_1 | {"level":"info","message":"GET /devices/dc81d631-092d-4066-80f6-d801b8b54191? 200 22ms","method":"GET","requestID":"77fdd246cc779e54156f8bde790ab6a0","responseTime":22,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191?"} 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":"730c9f30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"64c65d210a5e4d00fa553c39d0c83a05","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860353,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132906,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwNn0.b7Xxup_3mYc8TyM-nXguxOamxp6tEwDCAY-pHzZG9iE"} 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":"64c65d210a5e4d00fa553c39d0c83a05"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:02.345371557Z"}]},"request_id":"5945bb6d-39aa-47b2-9cf5-56f8cd6a293d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.6824343} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64c65d210a5e4d00fa553c39d0c83a05"},"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":"14/Apr/2024:22:15:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? 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":"64c65d210a5e4d00fa553c39d0c83a05"} device_1 | {"level":"info","message":"GET /devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37? 200 15ms","method":"GET","requestID":"64c65d210a5e4d00fa553c39d0c83a05","responseTime":15,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9b59cd89-96ee-4693-af92-5f85e3f5dbee","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.7013083} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f98813c-0868-41d7-a5fd-0a82652093b7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.7015738} 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":"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":"730c9f30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} 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/547e2d9a-8a50-4698-a04f-aacf696b88a9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9'"} 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 61ms","method":"POST","requestID":"730c9f30-faac-11ee-adee-eb1d2c4f6619","responseTime":61,"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/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f57f3248-44e6-4647-9cd5-04f3aaaa3276","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.7662315} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214926,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","rebac_allow":false,"scope_allow":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":"731c0880-faac-11ee-adee-eb1d2c4f6619"},"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/dc81d631-092d-4066-80f6-d801b8b54191/signaling 200 13ms","method":"POST","requestID":"731c0880-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23ec6316-0e1e-4c0d-b409-43853fc61154","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132906.7819493} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.315411,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","rebac_allow":false,"scope_allow":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":"731ea090-faac-11ee-adee-eb1d2c4f6619"},"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/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling 200 10ms","method":"POST","requestID":"731ea090-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8aa6f28f9d05b5293c158a9b9f18b89b","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/65d24541-e870-4c65-a3a4-9cdf3cdccf37"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"8aa6f28f9d05b5293c158a9b9f18b89b","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"8aa6f28f9d05b5293c158a9b9f18b89b"} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","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/547e2d9a-8a50-4698-a04f-aacf696b88a9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8fe1a4c82f47e0b0f89eea618c8cc4d8","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/65d24541-e870-4c65-a3a4-9cdf3cdccf37"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F547e2d9a-8a50-4698-a04f-aacf696b88a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ab6bf36-23da-4faa-b2f1-9cedeec6bf4b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.043679} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.824288,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9","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":"734625c0-faac-11ee-adee-eb1d2c4f6619"},"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/547e2d9a-8a50-4698-a04f-aacf696b88a9 200 15ms","method":"GET","requestID":"734625c0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"8fe1a4c82f47e0b0f89eea618c8cc4d8","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"8fe1a4c82f47e0b0f89eea618c8cc4d8"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7f6423c-9552-41f7-8c4c-ebf65bfd98ec","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.0823998} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.507489,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","rebac_allow":false,"scope_allow":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":"734c4040-faac-11ee-adee-eb1d2c4f6619"},"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/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling 200 16ms","method":"POST","requestID":"734c4040-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"db06a97675cbb41549d337022d756ce7","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"944d3d79-2acd-446b-aa05-3b664688fbdb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.1042159} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.742995,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132907,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA"} 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":"db06a97675cbb41549d337022d756ce7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.406882,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","rebac_allow":false,"scope_allow":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":"734f7490-faac-11ee-adee-eb1d2c4f6619"},"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/dc81d631-092d-4066-80f6-d801b8b54191/signaling 200 17ms","method":"POST","requestID":"734f7490-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89 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":"db06a97675cbb41549d337022d756ce7"} experiment_1 | {"level":"info","message":"GET /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89 200 27ms","method":"GET","requestID":"db06a97675cbb41549d337022d756ce7","responseTime":27,"status":200,"url":"/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b5ea7559619131435f7898ba80c6ebd6","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.367398,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132907,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA"} 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":"b5ea7559619131435f7898ba80c6ebd6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.125337,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132907,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA"} 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":"73591180-faac-11ee-adee-eb1d2c4f6619"},"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/547e2d9a-8a50-4698-a04f-aacf696b88a9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03c9647315052a9048a4c13df1594218","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8efafbe7280ee39098778893744507b6","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F547e2d9a-8a50-4698-a04f-aacf696b88a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F547e2d9a-8a50-4698-a04f-aacf696b88a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"cc03e15d-85a0-41fb-b72b-817c807ac3e4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.2054446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c30f229-1b87-4729-b977-6af4122b3189","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.205796} device_1 | {"data":{"peerconnection":"547e2d9a-8a50-4698-a04f-aacf696b88a9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} 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":"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":"73591180-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9 204 69ms","method":"DELETE","requestID":"73591180-faac-11ee-adee-eb1d2c4f6619","responseTime":69,"status":204,"url":"/peerconnections/547e2d9a-8a50-4698-a04f-aacf696b88a9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65d24541-e870-4c65-a3a4-9cdf3cdccf37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b6e99af-337a-4dc8-b3f8-56045ec2f4d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.2678673} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.892217,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37","object_type":"device","rebac_allow":false,"scope_allow":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":"73682cb0-faac-11ee-adee-eb1d2c4f6619"},"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/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling 200 22ms","method":"POST","requestID":"73682cb0-faac-11ee-adee-eb1d2c4f6619","responseTime":22,"status":200,"url":"/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8d037ea-6589-410c-96e2-438fd01d9a89': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb8d037ea-6589-410c-96e2-438fd01d9a89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"72c2494b-d688-4263-8f30-27685d95b70b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.2878144} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6065b145-2b60-4463-a6cb-6d9eba8193a3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.2883518} authorization_1 | {"level":"info","message":"POST /relations/update 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5ea7559619131435f7898ba80c6ebd6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":34}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc81d631-092d-4066-80f6-d801b8b54191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bab3e4cc-352f-4633-8b4d-f62877fe4f7a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.2948267} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.985234,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc81d631-092d-4066-80f6-d801b8b54191","object_type":"device","rebac_allow":false,"scope_allow":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":"736c4b60-faac-11ee-adee-eb1d2c4f6619"},"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/dc81d631-092d-4066-80f6-d801b8b54191/signaling 200 15ms","method":"POST","requestID":"736c4b60-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/dc81d631-092d-4066-80f6-d801b8b54191/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5ea7559619131435f7898ba80c6ebd6"} experiment_1 | {"level":"info","message":"DELETE /experiments/b8d037ea-6589-410c-96e2-438fd01d9a89 204 221ms","method":"DELETE","requestID":"b5ea7559619131435f7898ba80c6ebd6","responseTime":221,"status":204,"url":"/experiments/b8d037ea-6589-410c-96e2-438fd01d9a89"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 170ms","method":"POST","requestID":"03c9647315052a9048a4c13df1594218","responseTime":170,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch","requestID":"03c9647315052a9048a4c13df1594218"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +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.333","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79ead54189e5942a5ef142b50cc387c9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 171ms","method":"POST","requestID":"8efafbe7280ee39098778893744507b6","responseTime":171,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"8efafbe7280ee39098778893744507b6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"ff87e8f525b55633b2b167183bc9347e","responseTime":8,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"1.339","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"073f1dc8b758de0733058e55b2d9338f"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694638,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/65d24541-e870-4c65-a3a4-9cdf3cdccf37' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132907,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA"} 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":"ff87e8f525b55633b2b167183bc9347e"},"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/dc81d631-092d-4066-80f6-d801b8b54191' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c223eb11-71cc-457a-9a8c-2f37f0ba3cf8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.402598} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff87e8f525b55633b2b167183bc9347e"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a15b5bc-e064-41fd-a301-ea41028421e5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4089396} 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":"ff87e8f525b55633b2b167183bc9347e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"3fe57d31-6c43-48c3-a0e4-aff0e1739483","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4211156} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5fe58df-e97e-4767-85a9-c62ed62039c2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4214625} 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":"ff87e8f525b55633b2b167183bc9347e"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.421102200Z"}]},"request_id":"6086c1cf-4c5b-439f-995d-ceaac93231b5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4266684} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff87e8f525b55633b2b167183bc9347e"},"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":"ff87e8f525b55633b2b167183bc9347e","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +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":"ff87e8f525b55633b2b167183bc9347e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dfe518a4bf232c2f33a6723238fa4517","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.662287,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132907,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwN30.QLYRFGVja5OFMImSdmfNd8zwqpTjxuujA227QtiKskA"} 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":"dfe518a4bf232c2f33a6723238fa4517"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e8ca375-974f-4c37-85fe-a5f90c225b5d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4551928} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfe518a4bf232c2f33a6723238fa4517"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07d7a7d3-3283-4338-9fa3-8672f44cd047","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.459781} 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":"dfe518a4bf232c2f33a6723238fa4517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8611adcd-c7f5-42ac-8e3b-349090fd7404","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.470596} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0839cfcb-688a-4155-95e5-1299973b00b6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4708502} 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":"dfe518a4bf232c2f33a6723238fa4517"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"beae895f-d3ac-42a4-88b6-1b93fe02b630","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132907.4762716} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfe518a4bf232c2f33a6723238fa4517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"dfe518a4bf232c2f33a6723238fa4517","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfe518a4bf232c2f33a6723238fa4517"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOH0.-FZCOxZbbNvgeEBIX1YCUSphMdhoWzX84SUwZ8SSdtU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7000cfd0c1d04942d167b0916a5e6da","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195454,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:08Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132908,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOH0.-FZCOxZbbNvgeEBIX1YCUSphMdhoWzX84SUwZ8SSdtU"} 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":"f7000cfd0c1d04942d167b0916a5e6da"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"aab3f7c4-3201-40c6-a390-274da3b32946","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132908.0931633} 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":"f7000cfd0c1d04942d167b0916a5e6da"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39df5477-c49a-464a-82ac-f82633bcaa1d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132908.1032488} 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":"f7000cfd0c1d04942d167b0916a5e6da"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"019dc1c1-654b-4ed2-a4b8-b4a0f44bb028","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132908.1185582} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7000cfd0c1d04942d167b0916a5e6da"},"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/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e 200 65ms","method":"PATCH","requestID":"f7000cfd0c1d04942d167b0916a5e6da","responseTime":65,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"} gateway_1 | {"time_local":"14/Apr/2024:22:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.073","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"f7000cfd0c1d04942d167b0916a5e6da"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOH0.-FZCOxZbbNvgeEBIX1YCUSphMdhoWzX84SUwZ8SSdtU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6882488165e85cfa6b2481c1fb715755","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925103,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:08Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132908,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOH0.-FZCOxZbbNvgeEBIX1YCUSphMdhoWzX84SUwZ8SSdtU"} 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":"6882488165e85cfa6b2481c1fb715755"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/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.4","requestID":"6882488165e85cfa6b2481c1fb715755"} device_1 | {"level":"info","message":"POST /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/websocket 200 23ms","method":"POST","requestID":"6882488165e85cfa6b2481c1fb715755","responseTime":23,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8c5ad91429bc5442f56af53ca666c35e","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bbb83315-3115-4e24-a524-500b587e282a/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":"8c5ad91429bc5442f56af53ca666c35e"} device_1 | {"level":"info","message":"OPTIONS /devices/bbb83315-3115-4e24-a524-500b587e282a/websocket 200 2ms","method":"OPTIONS","requestID":"8c5ad91429bc5442f56af53ca666c35e","responseTime":2,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9078c6de561087ec88d2974992f821a9","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174392,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9078c6de561087ec88d2974992f821a9"},"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":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbb83315-3115-4e24-a524-500b587e282a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9078c6de561087ec88d2974992f821a9"} device_1 | {"level":"info","message":"POST /devices/bbb83315-3115-4e24-a524-500b587e282a/websocket 200 25ms","method":"POST","requestID":"9078c6de561087ec88d2974992f821a9","responseTime":25,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d7202e16dbe03a926781349118d77032","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222039,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"d7202e16dbe03a926781349118d77032"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.421102200Z"}]},"request_id":"a0bde179-7ae4-400a-80af-970d404f73e4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.5833228} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7202e16dbe03a926781349118d77032"},"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":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 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":"d7202e16dbe03a926781349118d77032"} device_1 | {"level":"info","message":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 200 25ms","method":"GET","requestID":"d7202e16dbe03a926781349118d77032","responseTime":25,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"728d298ab5000415b1af7a6e4bcb2a58","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324566,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"728d298ab5000415b1af7a6e4bcb2a58"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"f6a8b875-7770-411e-b756-aadd4613dee8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.6185374} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"728d298ab5000415b1af7a6e4bcb2a58"},"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":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 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":"728d298ab5000415b1af7a6e4bcb2a58"} device_1 | {"level":"info","message":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 200 22ms","method":"GET","requestID":"728d298ab5000415b1af7a6e4bcb2a58","responseTime":22,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"52a597df51dc32661927405d16b1c4fc","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:35260","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.344111,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"52a597df51dc32661927405d16b1c4fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"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:35260","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.897245,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"74de7900-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036741,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"74dec720-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.421102200Z"}]},"request_id":"3d9a3da1-c5e5-4c5a-bb51-30dc86387db3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.7308154} 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":"74de7900-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"6d80542c-e37f-4ced-9a4d-72dedde10efd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.7326987} 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":"74dec720-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 200 32ms","method":"GET","requestID":"74de7900-faac-11ee-adee-eb1d2c4f6619","responseTime":32,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 200 33ms","method":"GET","requestID":"74dec720-faac-11ee-adee-eb1d2c4f6619","responseTime":33,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"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/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully running experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158348,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"74f164c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.358472,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"74f1d9f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.080054,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d2125fa-e27e-46a3-9a3f-3dc0c93cc35d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.855939} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","rebac_allow":false,"scope_allow":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":"74f27630-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.421102200Z"}]},"request_id":"9b7fbb9d-7415-4e13-a400-2b2953cedb56","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8625684} 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":"74f164c0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"48b5ecfb-4355-4553-9644-25147ae24154","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8693326} 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":"74f1d9f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bbb83315-3115-4e24-a524-500b587e282a/signaling 200 31ms","method":"POST","requestID":"74f27630-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1438709b-6e84-4db1-8711-01ba3033b388#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1438709b-6e84-4db1-8711-01ba3033b388","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c8516430-6b34-4074-8588-2bcb77a63f75","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8779027} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b094ca8e-2085-459d-933c-81fe132f0de8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8785725} 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":"52a597df51dc32661927405d16b1c4fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 200 48ms","method":"GET","requestID":"74f164c0-faac-11ee-adee-eb1d2c4f6619","responseTime":48,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 200 46ms","method":"GET","requestID":"74f1d9f0-faac-11ee-adee-eb1d2c4f6619","responseTime":46,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27500ca4-4a81-48f3-aeff-7b351204da86","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8867807} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184327,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","rebac_allow":false,"scope_allow":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":"74f81b80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling 200 15ms","method":"POST","requestID":"74f81b80-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 257ms","method":"POST","requestID":"52a597df51dc32661927405d16b1c4fc","responseTime":257,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e34483b9-a363-478f-a053-1c050ac669e0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.8987467} gateway_1 | {"time_local":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.268","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52a597df51dc32661927405d16b1c4fc"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.215426,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","rebac_allow":false,"scope_allow":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":"74f9f040-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bb8788843b04f135062018210c00cd7e","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/bbb83315-3115-4e24-a524-500b587e282a/signaling 200 13ms","method":"POST","requestID":"74f9f040-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845906,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"bb8788843b04f135062018210c00cd7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.421102200Z"}]},"request_id":"12e0ebaf-50ed-4816-80d8-fa3615caca6a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.9133353} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e59cc83-c55f-4f7d-90f3-71ef5d52a012","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.9134705} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb8788843b04f135062018210c00cd7e"},"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:35260","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.919672,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","rebac_allow":false,"scope_allow":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":"74fc8850-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 200 16ms","method":"GET","requestID":"bb8788843b04f135062018210c00cd7e","responseTime":16,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbb83315-3115-4e24-a524-500b587e282a? 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":"bb8788843b04f135062018210c00cd7e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling 200 12ms","method":"POST","requestID":"74fc8850-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cc944235-ad56-44c3-ada3-864976341540"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3c5e2a5c-c7e2-4a96-9d99-93e21555d2d8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4006ae59-f5b5-4f4e-93cd-9d8b2e160092"}]},"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/bbb83315-3115-4e24-a524-500b587e282a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"859f3208e58385fa370f9489a5cbf90b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.801235,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} 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":"74fed240-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880102,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132909,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkwOX0.16Gkhp9Xp_VTAlKeOBpTXGQyBNzrnWESKZODTSUvtkU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"859f3208e58385fa370f9489a5cbf90b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:07.470581261Z"}]},"request_id":"8b87f652-d4f0-4eb4-835e-5d019b1f71d1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.9359767} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"859f3208e58385fa370f9489a5cbf90b"},"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":"14/Apr/2024:22:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 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":"859f3208e58385fa370f9489a5cbf90b"} device_1 | {"level":"info","message":"GET /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e? 200 13ms","method":"GET","requestID":"859f3208e58385fa370f9489a5cbf90b","responseTime":13,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c044a7ea-4a02-4a71-bbb6-2c3d87754df7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.941083} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0f27ed8-9330-4fd8-923e-86cc30dd1351","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132909.9412196} 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":"74fed240-faac-11ee-adee-eb1d2c4f6619"},"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/80e51689-c2d0-43a4-94f2-bb140be3433b'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b'"} 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 39ms","method":"POST","requestID":"74fed240-faac-11ee-adee-eb1d2c4f6619","responseTime":39,"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":"80e51689-c2d0-43a4-94f2-bb140be3433b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:09Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5db73f5f-87e9-41a4-aa1a-f1d2934381d9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.0010545} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308835,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","rebac_allow":false,"scope_allow":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":"7509cec0-faac-11ee-adee-eb1d2c4f6619"},"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/bbb83315-3115-4e24-a524-500b587e282a/signaling 200 10ms","method":"POST","requestID":"7509cec0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1c12f22cb6cc00b0808a35e71b587d4","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} 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/bbb83315-3115-4e24-a524-500b587e282a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"727354dd-acb2-43b5-bd2c-07f09f529782","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.0203063} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.617251,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","rebac_allow":false,"scope_allow":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":"750cb4f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"e1c12f22cb6cc00b0808a35e71b587d4","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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":"e1c12f22cb6cc00b0808a35e71b587d4"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling 200 18ms","method":"POST","requestID":"750cb4f0-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","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/80e51689-c2d0-43a4-94f2-bb140be3433b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc2057e28f5ecb23357d45ddc2078067","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/bbb83315-3115-4e24-a524-500b587e282a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e51689-c2d0-43a4-94f2-bb140be3433b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d66a28f7-7bea-484d-a453-93a59f2ad235","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.0838816} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.002564,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b","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":"751678f0-faac-11ee-adee-eb1d2c4f6619"},"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/80e51689-c2d0-43a4-94f2-bb140be3433b 200 9ms","method":"GET","requestID":"751678f0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"fc2057e28f5ecb23357d45ddc2078067","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc2057e28f5ecb23357d45ddc2078067"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89e301d1-0670-4d67-9394-c0ab200fb415","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.10813} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108502,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","rebac_allow":false,"scope_allow":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":"751a2270-faac-11ee-adee-eb1d2c4f6619"},"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/bbb83315-3115-4e24-a524-500b587e282a/signaling 200 9ms","method":"POST","requestID":"751a2270-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d057850-87db-420c-94e0-b8b25f1dca0b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.1195467} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705819,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","rebac_allow":false,"scope_allow":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":"751bf730-faac-11ee-adee-eb1d2c4f6619"},"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/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling 200 9ms","method":"POST","requestID":"751bf730-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0b051870792ce0e530ac44339b9ccc7","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1438709b-6e84-4db1-8711-01ba3033b388"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.500786,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} 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":"a0b051870792ce0e530ac44339b9ccc7"},"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/1438709b-6e84-4db1-8711-01ba3033b388"} gateway_1 | {"time_local":"14/Apr/2024:22:15:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1438709b-6e84-4db1-8711-01ba3033b388 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0b051870792ce0e530ac44339b9ccc7"} experiment_1 | {"level":"info","message":"GET /experiments/1438709b-6e84-4db1-8711-01ba3033b388 200 21ms","method":"GET","requestID":"a0b051870792ce0e530ac44339b9ccc7","responseTime":21,"status":200,"url":"/experiments/1438709b-6e84-4db1-8711-01ba3033b388"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0765a737e01d3763677f22f08d143f7","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1438709b-6e84-4db1-8711-01ba3033b388"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.6678,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} 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":"c0765a737e01d3763677f22f08d143f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.815092,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} 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":"752b1260-faac-11ee-adee-eb1d2c4f6619"},"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/80e51689-c2d0-43a4-94f2-bb140be3433b' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"af92eaf9793fcd83cd44726b7a5a63a7","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e51689-c2d0-43a4-94f2-bb140be3433b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80e51689-c2d0-43a4-94f2-bb140be3433b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"8329df87-4250-4ba9-8e80-c80360e7c346","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.2374668} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62a13595-a07f-446f-b0c4-8dc85e30664a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.2378273} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9376430b08f811f8e1766bfc227592ff","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/bbb83315-3115-4e24-a524-500b587e282a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"752b1260-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"80e51689-c2d0-43a4-94f2-bb140be3433b","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/80e51689-c2d0-43a4-94f2-bb140be3433b 204 49ms","method":"DELETE","requestID":"752b1260-faac-11ee-adee-eb1d2c4f6619","responseTime":49,"status":204,"url":"/peerconnections/80e51689-c2d0-43a4-94f2-bb140be3433b"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1438709b-6e84-4db1-8711-01ba3033b388"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb83315-3115-4e24-a524-500b587e282a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38710b4a-7ee1-497d-a399-5d5edd520f3d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.2912312} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.686389,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb83315-3115-4e24-a524-500b587e282a","object_type":"device","rebac_allow":false,"scope_allow":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":"7535e7d0-faac-11ee-adee-eb1d2c4f6619"},"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/bbb83315-3115-4e24-a524-500b587e282a/signaling 200 13ms","method":"POST","requestID":"7535e7d0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/bbb83315-3115-4e24-a524-500b587e282a/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1438709b-6e84-4db1-8711-01ba3033b388': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1438709b-6e84-4db1-8711-01ba3033b388","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"737ea270-d744-40e1-951e-ba00cf85ffdb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.3019955} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8d087d7-1c10-4f12-8159-23d276d9a186","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.302458} 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":"c0765a737e01d3763677f22f08d143f7"},"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:35260","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd1e3635-fab2-4c9e-b30f-4ee82c344e5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"176f1b2f-7fd8-4b77-afc4-21853a2000fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.3111115} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836529,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e","object_type":"device","rebac_allow":false,"scope_allow":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":"75387fe0-faac-11ee-adee-eb1d2c4f6619"},"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/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling 200 16ms","method":"POST","requestID":"75387fe0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1438709b-6e84-4db1-8711-01ba3033b388"} gateway_1 | {"time_local":"14/Apr/2024:22:15:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1438709b-6e84-4db1-8711-01ba3033b388 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0765a737e01d3763677f22f08d143f7"} gateway_1 | {"time_local":"14/Apr/2024:22:15:10 +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.209","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"75f67c4ae09247f9429247cf0c1abaab"} experiment_1 | {"level":"info","message":"DELETE /experiments/1438709b-6e84-4db1-8711-01ba3033b388 204 180ms","method":"DELETE","requestID":"c0765a737e01d3763677f22f08d143f7","responseTime":180,"status":204,"url":"/experiments/1438709b-6e84-4db1-8711-01ba3033b388"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"af92eaf9793fcd83cd44726b7a5a63a7","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"af92eaf9793fcd83cd44726b7a5a63a7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"9376430b08f811f8e1766bfc227592ff","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"9376430b08f811f8e1766bfc227592ff"} gateway_1 | {"time_local":"14/Apr/2024:22:15:10 +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.845","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"98294967e263a95f7f5dd254a055beb4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY","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/dd1e3635-fab2-4c9e-b30f-4ee82c344e5e' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"5f3f632a0fd366059d3bbb50666ff67b","responseTime":12,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.171033,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} 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":"5f3f632a0fd366059d3bbb50666ff67b"},"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/bbb83315-3115-4e24-a524-500b587e282a' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"51751f79-a97b-4c80-a68d-847e4c018098","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4129655} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f3f632a0fd366059d3bbb50666ff67b"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2ef82e6-6f6b-47b3-88e3-04fbc84eb6ec","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.419457} 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":"5f3f632a0fd366059d3bbb50666ff67b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5c92908b-1ccf-4bc0-bfb2-fa21db7196b0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4305992} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"779a6b2f-2dc6-49da-9aeb-0e41cab2bf72","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4308188} 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":"5f3f632a0fd366059d3bbb50666ff67b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"1c592f82-6b9b-4ac5-81fe-07d0aa9491f0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.436454} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f3f632a0fd366059d3bbb50666ff67b"},"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":"5f3f632a0fd366059d3bbb50666ff67b","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f3f632a0fd366059d3bbb50666ff67b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bfb16d92984284bce3c14c5311802b3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740227,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} 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":"7bfb16d92984284bce3c14c5311802b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e25d5ee-452a-4866-a211-ccf4d78e299b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4656217} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bfb16d92984284bce3c14c5311802b3"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a73c3e4-a33e-4b4c-9433-865cc8424cbc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4715216} 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":"7bfb16d92984284bce3c14c5311802b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"ee55b8c9-0480-4f85-8396-df0759b32ce7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4853947} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0828d2c3-28a0-4d41-9d22-65351551c746","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4857106} 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":"7bfb16d92984284bce3c14c5311802b3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.485364943Z"}]},"request_id":"073d7bf6-6a23-4541-a155-26f0e64678c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132910.4904728} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bfb16d92984284bce3c14c5311802b3"},"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":"7bfb16d92984284bce3c14c5311802b3","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bfb16d92984284bce3c14c5311802b3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15649ff884e4b5452b7842a789cf45d3","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169882,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132910,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMH0.JTxbgqI350cliBA-hq-sq-Z1PKy2vyc9Kj4TLaoCngY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15649ff884e4b5452b7842a789cf45d3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"f9a54c15-f01f-44de-954a-e12c92bb82bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132911.0043476} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15649ff884e4b5452b7842a789cf45d3"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b17f71ab-e364-45ce-87c3-7b4a4c574aed","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132911.0123217} 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":"15649ff884e4b5452b7842a789cf45d3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"948d1da0-9823-4467-b61c-e47da5787d5d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132911.0313172} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15649ff884e4b5452b7842a789cf45d3"},"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":"14/Apr/2024:22:15:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"15649ff884e4b5452b7842a789cf45d3"} device_1 | {"level":"info","message":"PATCH /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f 200 46ms","method":"PATCH","requestID":"15649ff884e4b5452b7842a789cf45d3","responseTime":46,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMX0.GMrcR-oB2gDMqFPqM43ZXfojgxExm2BR1VGgc11asNs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9abebcfa2cf8a2d0dbb598881954a6a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:11Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.435412,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:11Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132911,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMX0.GMrcR-oB2gDMqFPqM43ZXfojgxExm2BR1VGgc11asNs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9abebcfa2cf8a2d0dbb598881954a6a"},"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":"14/Apr/2024:22:15:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/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.4","requestID":"f9abebcfa2cf8a2d0dbb598881954a6a"} device_1 | {"level":"info","message":"POST /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/websocket 200 22ms","method":"POST","requestID":"f9abebcfa2cf8a2d0dbb598881954a6a","responseTime":22,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91c7f9bbedf064d6245946eab60f2286","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/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":"91c7f9bbedf064d6245946eab60f2286"} device_1 | {"level":"info","message":"OPTIONS /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/websocket 200 1ms","method":"OPTIONS","requestID":"91c7f9bbedf064d6245946eab60f2286","responseTime":1,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"59cee4f735297d4a47e9b18f8d76cbfa","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.387602,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"59cee4f735297d4a47e9b18f8d76cbfa"},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83/websocket 200 36ms","method":"POST","requestID":"59cee4f735297d4a47e9b18f8d76cbfa","responseTime":36,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/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":"59cee4f735297d4a47e9b18f8d76cbfa"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56496ac307bc7550d7747a81d428e294","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313908,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56496ac307bc7550d7747a81d428e294"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"3dff7b2d-34ac-4d32-af65-181e09717226","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.5883617} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56496ac307bc7550d7747a81d428e294"},"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":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 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":"56496ac307bc7550d7747a81d428e294"} device_1 | {"level":"info","message":"GET /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 200 22ms","method":"GET","requestID":"56496ac307bc7550d7747a81d428e294","responseTime":22,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2d03d8359057c95453d8376989062c5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076638,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d03d8359057c95453d8376989062c5"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.485364943Z"}]},"request_id":"ca0405da-8c68-47f9-a227-065fd31211fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.6173584} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d03d8359057c95453d8376989062c5"},"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":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2d03d8359057c95453d8376989062c5"} device_1 | {"level":"info","message":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? 200 20ms","method":"GET","requestID":"d2d03d8359057c95453d8376989062c5","responseTime":20,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b8f10c661673b419e49ad1b2b8185e4","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:35260","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.137839,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"2b8f10c661673b419e49ad1b2b8185e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"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:35260","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.438587,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"76a70400-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230445,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"76a75220-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"87a93427-e39a-4f13-81b8-e166121eb501","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.7173345} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76a70400-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.485364943Z"}]},"request_id":"584a03e4-a13e-4833-b6db-7e68f3d337e2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.718349} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76a75220-faac-11ee-adee-eb1d2c4f6619"},"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/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 200 26ms","method":"GET","requestID":"76a70400-faac-11ee-adee-eb1d2c4f6619","responseTime":26,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? 200 26ms","method":"GET","requestID":"76a75220-faac-11ee-adee-eb1d2c4f6619","responseTime":26,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"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:35260","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.248312,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"76b4e6b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233569,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"76b534d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"aa17073b-19b7-433d-aa4f-870aa05abceb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8204587} 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":"76b4e6b0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.485364943Z"}]},"request_id":"ad22065c-9d92-49eb-9f2c-6f9c25a485ba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8226008} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08a69371-ff43-4800-8fd0-fb7ea23fdd38","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8238797} 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":"76b534d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.006175,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76b5aa00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3d5acd0-4e3a-4f4e-8deb-66a0657bd123#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3d5acd0-4e3a-4f4e-8deb-66a0657bd123","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5a08d066-a82d-4693-bfb4-6323302b8191","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8332791} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eba97466-0c44-4970-a1da-e94feda87f88","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8341167} device_1 | {"level":"info","message":"GET /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 200 41ms","method":"GET","requestID":"76b4e6b0-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f?"} 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":"2b8f10c661673b419e49ad1b2b8185e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? 200 41ms","method":"GET","requestID":"76b534d0-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling 200 39ms","method":"POST","requestID":"76b5aa00-faac-11ee-adee-eb1d2c4f6619","responseTime":40,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"014225a0-2099-40f7-b0f8-d0786fe84523","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.854671} experiment_1 | {"data":{"experiment":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.755751,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"2b8f10c661673b419e49ad1b2b8185e4","responseTime":222,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","rebac_allow":false,"scope_allow":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":"76bcfd00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a420816f-7afa-49ce-83f1-0dbe5ec53950","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8558264} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971848,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} gateway_1 | {"time_local":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b8f10c661673b419e49ad1b2b8185e4"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","rebac_allow":false,"scope_allow":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":"76bd4b20-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"POST /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling 200 15ms","method":"POST","requestID":"76bcfd00-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"275d1aa7861a1729f4bada94c097b5ed","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling 200 18ms","method":"POST","requestID":"76bd4b20-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982205,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"275d1aa7861a1729f4bada94c097b5ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1148ca0d-5dad-4a18-9811-01faf9bc13b1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8716145} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.801465,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","rebac_allow":false,"scope_allow":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":"76bfbc20-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.430586499Z"}]},"request_id":"19a48462-cfa1-4e24-a176-35df3a4c6e02","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.8761003} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling 200 11ms","method":"POST","requestID":"76bfbc20-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/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":"275d1aa7861a1729f4bada94c097b5ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"ebd81a3b-4b8e-49fc-bd07-794c952e869a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f4589fdb-ce8c-48dd-9e00-64bd952c0781"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c35c0949-3cc4-42c4-9853-c90c8c154411"}]},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"}],"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":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 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":"275d1aa7861a1729f4bada94c097b5ed"} device_1 | {"level":"info","message":"GET /devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f? 200 19ms","method":"GET","requestID":"275d1aa7861a1729f4bada94c097b5ed","responseTime":19,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.086106,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} 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":"76c20610-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"947d226c5959826fce320b9d3044e154","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.073447,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132912,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxMn0.gKtpwZj3gD-xE8JbcXM2c8IIibtEqPb7u4vLMliqw4E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"947d226c5959826fce320b9d3044e154"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:10.485364943Z"}]},"request_id":"7c404c45-a8d4-429f-9159-c837a7a440c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.9012074} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9d63bb44-8e47-4bbd-9951-708c3ad5624e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.9029536} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30a85df2-9824-42a7-ade3-f4bad7449428","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.9033258} 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":"947d226c5959826fce320b9d3044e154"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76c20610-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? 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":"947d226c5959826fce320b9d3044e154"} device_1 | {"level":"info","message":"GET /devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83? 200 21ms","method":"GET","requestID":"947d226c5959826fce320b9d3044e154","responseTime":21,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83?"} 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/4d6eea03-d48a-48e2-bb0f-db2063474503'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503'"} 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":"76c20610-faac-11ee-adee-eb1d2c4f6619","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"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c502359-1930-4011-8e1a-570f5f05d4b6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.9789472} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.754291,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","rebac_allow":false,"scope_allow":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":"76d036e0-faac-11ee-adee-eb1d2c4f6619"},"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/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling 200 10ms","method":"POST","requestID":"76d036e0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce136680-d0f2-4324-ab80-ef6caf8d6af0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132912.9911427} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.306265,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","rebac_allow":false,"scope_allow":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":"76d20ba0-faac-11ee-adee-eb1d2c4f6619"},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling 200 11ms","method":"POST","requestID":"76d20ba0-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e094a193c4cc885fa142b8e3535ed365","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/bbc61b27-9689-46cc-97b4-bd7aa3badb83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"e094a193c4cc885fa142b8e3535ed365","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"e094a193c4cc885fa142b8e3535ed365"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","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/4d6eea03-d48a-48e2-bb0f-db2063474503' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"30ea188df45915275ee8f34859e3c801","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/bbc61b27-9689-46cc-97b4-bd7aa3badb83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4d6eea03-d48a-48e2-bb0f-db2063474503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"099305c9-3962-4395-ae7e-9e25a0370087","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.0834086} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.023832,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503","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":"76dfee50-faac-11ee-adee-eb1d2c4f6619"},"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/4d6eea03-d48a-48e2-bb0f-db2063474503 200 12ms","method":"GET","requestID":"76dfee50-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"30ea188df45915275ee8f34859e3c801","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"30ea188df45915275ee8f34859e3c801"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c2a001f-a0cf-4078-87f9-37f37d81d3fe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.12265} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.165377,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","rebac_allow":false,"scope_allow":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":"76e5e1c0-faac-11ee-adee-eb1d2c4f6619"},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling 200 13ms","method":"POST","requestID":"76e5e1c0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b02b3a3-7d9a-4fe9-9716-2460421af3c7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.1390357} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.661359,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","rebac_allow":false,"scope_allow":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":"76e879d0-faac-11ee-adee-eb1d2c4f6619"},"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/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling 200 13ms","method":"POST","requestID":"76e879d0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc3f8586ec754c9a48d3c9c47fa0bbf5","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.08278,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc3f8586ec754c9a48d3c9c47fa0bbf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} experiment_1 | {"level":"info","message":"GET /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123 200 17ms","method":"GET","requestID":"dc3f8586ec754c9a48d3c9c47fa0bbf5","responseTime":17,"status":200,"url":"/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc3f8586ec754c9a48d3c9c47fa0bbf5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92aaeec82b94342d8523e407158b8dc5","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.671641,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92aaeec82b94342d8523e407158b8dc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.556017,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} 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":"76f216c0-faac-11ee-adee-eb1d2c4f6619"},"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/4d6eea03-d48a-48e2-bb0f-db2063474503' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3b12563e6c422b6e24390b95d4fb1f09","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4d6eea03-d48a-48e2-bb0f-db2063474503': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4d6eea03-d48a-48e2-bb0f-db2063474503","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"d57f793c-7a16-4e1e-9e2c-38b6f2e4b51b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.2211552} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1829b812-3c13-48f9-9c2d-53ad3ae6cbca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.2214904} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"ba35d11ce00e2763714c20e5603e7fd5","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76f216c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"4d6eea03-d48a-48e2-bb0f-db2063474503","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/4d6eea03-d48a-48e2-bb0f-db2063474503 204 55ms","method":"DELETE","requestID":"76f216c0-faac-11ee-adee-eb1d2c4f6619","responseTime":55,"status":204,"url":"/peerconnections/4d6eea03-d48a-48e2-bb0f-db2063474503"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc61b27-9689-46cc-97b4-bd7aa3badb83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71ae540d-1268-4433-9643-9cb4ef79c765","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.2853506} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.533279,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83","object_type":"device","rebac_allow":false,"scope_allow":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":"76fe72d0-faac-11ee-adee-eb1d2c4f6619"},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling 200 17ms","method":"POST","requestID":"76fe72d0-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/bbc61b27-9689-46cc-97b4-bd7aa3badb83/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3d5acd0-4e3a-4f4e-8deb-66a0657bd123': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3d5acd0-4e3a-4f4e-8deb-66a0657bd123","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"639898b1-bde0-4e8e-9e7a-0b8784333d14","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.295737} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79248697-7be8-465a-a01d-60237956ea81","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.29622} 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":"92aaeec82b94342d8523e407158b8dc5"},"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:35260","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72cfb64-72c3-47df-abb0-41db0c4ee99f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06900519-2b66-4465-99cd-598e04e0bfbe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.30753} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.259263,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f","object_type":"device","rebac_allow":false,"scope_allow":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":"7701ce30-faac-11ee-adee-eb1d2c4f6619"},"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/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling 200 18ms","method":"POST","requestID":"7701ce30-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/c72cfb64-72c3-47df-abb0-41db0c4ee99f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92aaeec82b94342d8523e407158b8dc5"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +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.302","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"cdc240c209c235e66ca6c0304747bbba"} experiment_1 | {"level":"info","message":"DELETE /experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123 204 188ms","method":"DELETE","requestID":"92aaeec82b94342d8523e407158b8dc5","responseTime":188,"status":204,"url":"/experiments/a3d5acd0-4e3a-4f4e-8deb-66a0657bd123"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"3b12563e6c422b6e24390b95d4fb1f09","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b12563e6c422b6e24390b95d4fb1f09"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"ba35d11ce00e2763714c20e5603e7fd5","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba35d11ce00e2763714c20e5603e7fd5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +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.835","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"61931e171b37d2f4ef2e7fc675e8a12e"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"af657332accec4f6c3d7ce754e938448","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.945179,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} 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":"af657332accec4f6c3d7ce754e938448"},"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/c72cfb64-72c3-47df-abb0-41db0c4ee99f' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6e71744-1214-4b8f-8b10-d1d935cb3624","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4000335} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af657332accec4f6c3d7ce754e938448"},"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/bbc61b27-9689-46cc-97b4-bd7aa3badb83' 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9acff5f6-1341-40a6-ad6f-61b19064758b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4057274} 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":"af657332accec4f6c3d7ce754e938448"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"a3dcd465-c881-40c4-97d1-6c4edd2ea4b7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4167128} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"696e6185-6ff0-481f-8156-78adaf030d6b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4168513} 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":"af657332accec4f6c3d7ce754e938448"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"bb9bb78d-fefe-40a7-b96c-6faabf216f31","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4218142} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af657332accec4f6c3d7ce754e938448"},"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":"af657332accec4f6c3d7ce754e938448","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af657332accec4f6c3d7ce754e938448"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"be21bb074781a04b1657aa90da99de4a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.706207,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} 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":"be21bb074781a04b1657aa90da99de4a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d3b6a523-9fb7-41f2-8f2c-6d060136eb37","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4506376} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be21bb074781a04b1657aa90da99de4a"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df56298e-d761-4906-9bad-ac62adb95f7b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.456234} 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":"be21bb074781a04b1657aa90da99de4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"901eee84-cb57-40c4-b7b2-b0545a6df5df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.4662585} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdff5067-482f-4d21-8f76-96cec0da2ea2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.466374} 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":"be21bb074781a04b1657aa90da99de4a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"4237f216-44ec-4676-8e8f-0c4b5827f229","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.471439} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be21bb074781a04b1657aa90da99de4a"},"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":"be21bb074781a04b1657aa90da99de4a","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be21bb074781a04b1657aa90da99de4a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ab86437c476e0cc6e65b194a38557b7","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"474865914799ce389f759951170d2d22","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.199128,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ab86437c476e0cc6e65b194a38557b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781417,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"474865914799ce389f759951170d2d22"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"f8f2594d-5a02-4986-9bf5-7762ca273c19","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.9571135} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ab86437c476e0cc6e65b194a38557b7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"f28dc87c-151e-4276-b425-4d1988f12da5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.9582949} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"474865914799ce389f759951170d2d22"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd281a7f-b2d5-40e6-9135-3f07ae948e6b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.963315} 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":"8ab86437c476e0cc6e65b194a38557b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17328081-9934-4367-872c-87faba7c2cc8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.9652643} 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":"474865914799ce389f759951170d2d22"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"6d75a9ae-b246-4360-ae9d-733ec8f9a739","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.968998} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"474865914799ce389f759951170d2d22"},"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/11292c1b-1e8f-43e7-9f4d-f387701f074d 200 27ms","method":"PATCH","requestID":"474865914799ce389f759951170d2d22","responseTime":27,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"474865914799ce389f759951170d2d22"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c01293a90726f31867913212db2fe1e5","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939501,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c01293a90726f31867913212db2fe1e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"9670e43c-741b-45a4-b641-edf00aefceba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132913.9860368} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ab86437c476e0cc6e65b194a38557b7"},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1 200 45ms","method":"PATCH","requestID":"8ab86437c476e0cc6e65b194a38557b7","responseTime":45,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"8ab86437c476e0cc6e65b194a38557b7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c1d2f86e5b7bcb7d4cb662997e763b5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/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.4","requestID":"c01293a90726f31867913212db2fe1e5"} device_1 | {"level":"info","message":"POST /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/websocket 200 18ms","method":"POST","requestID":"c01293a90726f31867913212db2fe1e5","responseTime":18,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685608,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132913,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxM30.qEPAUcpDLFV7ORP-dTw4Cz2Feur3BraMHe37ovPNwk4"} 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":"9c1d2f86e5b7bcb7d4cb662997e763b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"9c1d2f86e5b7bcb7d4cb662997e763b5"} device_1 | {"level":"info","message":"POST /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/websocket 200 26ms","method":"POST","requestID":"9c1d2f86e5b7bcb7d4cb662997e763b5","responseTime":26,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"34d6e78ecbf97872daa68486f6b835d7","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905011,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34d6e78ecbf97872daa68486f6b835d7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"4544aaf3-fb35-4f15-be06-ae87cd2b1d95","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.0516942} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34d6e78ecbf97872daa68486f6b835d7"},"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":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d? 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":"34d6e78ecbf97872daa68486f6b835d7"} device_1 | {"level":"info","message":"GET /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d? 200 15ms","method":"GET","requestID":"34d6e78ecbf97872daa68486f6b835d7","responseTime":15,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"300b50adc934461f043feb0f5c04f99a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22748,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"300b50adc934461f043feb0f5c04f99a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"4676bf0b-f212-410a-832b-81b039b00e54","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.076261} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"300b50adc934461f043feb0f5c04f99a"},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1? 200 17ms","method":"GET","requestID":"300b50adc934461f043feb0f5c04f99a","responseTime":17,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1? 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":"300b50adc934461f043feb0f5c04f99a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd84dc3608a68d31a561b7db3925ecbd","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:35260","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.683466,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"dd84dc3608a68d31a561b7db3925ecbd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"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:35260","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954689,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7781ac90-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.510787,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7781d3a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"cd1fd856-ee98-4943-ad4a-bc1898a2a518","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.147428} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7781ac90-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"7ab08dd7-3bea-4f80-b1ad-63b7a86827bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.1487112} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7781d3a0-faac-11ee-adee-eb1d2c4f6619"},"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/11292c1b-1e8f-43e7-9f4d-f387701f074d? 200 20ms","method":"GET","requestID":"7781ac90-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1? 200 20ms","method":"GET","requestID":"7781d3a0-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"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:35260","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728969,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"778f6830-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.527792,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"778fb650-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"168d8517-c1f0-41cb-9e38-904088ec4c06","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2387228} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.060953,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","rebac_allow":false,"scope_allow":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":"778fdd60-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"984cdff0-1df9-4715-9e14-02c3e8e91af8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2413926} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling 200 18ms","method":"POST","requestID":"778fdd60-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling"} 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":"778f6830-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"4162724a-02f5-4e80-acc2-04e0b1a7fda9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2478445} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"778fb650-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} device_1 | {"level":"info","message":"GET /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d? 200 27ms","method":"GET","requestID":"778f6830-faac-11ee-adee-eb1d2c4f6619","responseTime":27,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1? 200 26ms","method":"GET","requestID":"778fb650-faac-11ee-adee-eb1d2c4f6619","responseTime":26,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f883f35-24b8-4416-912d-8efef1b1df0e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2560658} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.479674,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","rebac_allow":false,"scope_allow":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":"779311b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93283587-1df5-4dc1-8e9e-7eaaadcb0e3f#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9bb0f1d4-fc51-48b1-a2e2-75bd6298cf31","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2591774} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be597350-eeb1-404c-8477-a91091f8724a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2593706} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling 200 12ms","method":"POST","requestID":"779311b0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling"} 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":"dd84dc3608a68d31a561b7db3925ecbd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1837260f-4ebe-4f0f-bbd7-16fb28c481a9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.263499} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.50697,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","rebac_allow":false,"scope_allow":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":"77942320-faac-11ee-adee-eb1d2c4f6619"},"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/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling 200 11ms","method":"POST","requestID":"77942320-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"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 185ms","method":"POST","requestID":"dd84dc3608a68d31a561b7db3925ecbd","responseTime":185,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd84dc3608a68d31a561b7db3925ecbd"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce85ca9e-7d95-473a-a891-227cf05ffbdd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2773404} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.275559,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86ab64dc61403cb271bec4fbe1771b37","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77966d10-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710043,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} device_1 | {"level":"info","message":"POST /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling 200 10ms","method":"POST","requestID":"77966d10-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86ab64dc61403cb271bec4fbe1771b37"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8cbd3c70-d3c7-4180-b569-d0d7258c1484"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c2ae838e-d4e8-4894-bf50-f511880675aa"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0eda7b0a-6dbf-4162-bfbb-28f6958522ae"}]},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.416700056Z"}]},"request_id":"a493782b-4234-46cc-9b7f-4dee4f408e39","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2867384} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86ab64dc61403cb271bec4fbe1771b37"},"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:35260","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.788962,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"779841d0-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d? 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":"86ab64dc61403cb271bec4fbe1771b37"} device_1 | {"level":"info","message":"GET /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d? 200 14ms","method":"GET","requestID":"86ab64dc61403cb271bec4fbe1771b37","responseTime":14,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51489a168c060ec953232d220880a3f1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"83de0175-b2fc-4659-b944-d0e0ecb2cca2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2992036} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"668372d6-7ff9-4986-9039-5b52eb4696ad","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.2994537} 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":"779841d0-faac-11ee-adee-eb1d2c4f6619"},"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:35260","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.59341,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"51489a168c060ec953232d220880a3f1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:13.466242518Z"}]},"request_id":"5df8a68f-af35-4077-bbfa-272755acf534","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.3070226} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51489a168c060ec953232d220880a3f1"},"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/4f55d0e2-2826-43f6-a0ca-546298f319b5'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"779841d0-faac-11ee-adee-eb1d2c4f6619","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1? 200 36ms","method":"GET","requestID":"51489a168c060ec953232d220880a3f1","responseTime":36,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51489a168c060ec953232d220880a3f1"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","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:35260","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91be8706-83ac-4d74-a8ba-c97630613bc1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.3757293} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.712783,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","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:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"77a53a20-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50d536bb2d1803f5d8d294ecd15070b9","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/f2f9003d-3102-483f-b8c5-f25a39a95ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"50d536bb2d1803f5d8d294ecd15070b9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"50d536bb2d1803f5d8d294ecd15070b9"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling 200 20ms","method":"POST","requestID":"77a53a20-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36470c55-3556-4566-ab12-6ec8d20d8423","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.3982532} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.111972,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","rebac_allow":false,"scope_allow":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":"77a8bc90-faac-11ee-adee-eb1d2c4f6619"},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling 200 10ms","method":"POST","requestID":"77a8bc90-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","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/4f55d0e2-2826-43f6-a0ca-546298f319b5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7e3674514bc7faf6d915c8dbd6b03b4","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/f2f9003d-3102-483f-b8c5-f25a39a95ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f55d0e2-2826-43f6-a0ca-546298f319b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4363c3a0-1529-4522-86b5-69ab57856230","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.4328501} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.423758,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5","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":"77ae13c0-faac-11ee-adee-eb1d2c4f6619"},"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/4f55d0e2-2826-43f6-a0ca-546298f319b5 200 9ms","method":"GET","requestID":"77ae13c0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"b7e3674514bc7faf6d915c8dbd6b03b4","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7e3674514bc7faf6d915c8dbd6b03b4"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d83b001-1c5f-48fd-a39e-77cd474f591d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.4586287} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.717224,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","rebac_allow":false,"scope_allow":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":"77b20b60-faac-11ee-adee-eb1d2c4f6619"},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling 200 9ms","method":"POST","requestID":"77b20b60-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"302fb55c-3cc6-4efe-90e4-d2d5aac7b48c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.4698699} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.489379,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","rebac_allow":false,"scope_allow":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":"77b3b910-faac-11ee-adee-eb1d2c4f6619"},"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/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling 200 9ms","method":"POST","requestID":"77b3b910-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf10dfbc00b4c006413114b4bece2ce4","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.64118,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"bf10dfbc00b4c006413114b4bece2ce4"},"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/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf10dfbc00b4c006413114b4bece2ce4"} experiment_1 | {"level":"info","message":"GET /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f 200 18ms","method":"GET","requestID":"bf10dfbc00b4c006413114b4bece2ce4","responseTime":18,"status":200,"url":"/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"64ebdaba1e75b5f3f1eea500bc505db6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.149397,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"64ebdaba1e75b5f3f1eea500bc505db6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.111394,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"77c25f10-faac-11ee-adee-eb1d2c4f6619"},"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/4f55d0e2-2826-43f6-a0ca-546298f319b5' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"10d81a6cfdafa96643ba8fae3b25de7f","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f55d0e2-2826-43f6-a0ca-546298f319b5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f55d0e2-2826-43f6-a0ca-546298f319b5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"26992717-8cf5-44c1-905d-24251358f9ae","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.5918117} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6e10c55-3e50-477e-9b9a-c9d0d3b4319b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.5920875} 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/f2f9003d-3102-483f-b8c5-f25a39a95ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"864d876f0d89224def33a08106a0da6d","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"}}},"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":"77c25f10-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"data":{"peerconnection":"4f55d0e2-2826-43f6-a0ca-546298f319b5","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/4f55d0e2-2826-43f6-a0ca-546298f319b5 204 57ms","method":"DELETE","requestID":"77c25f10-faac-11ee-adee-eb1d2c4f6619","responseTime":57,"status":204,"url":"/peerconnections/4f55d0e2-2826-43f6-a0ca-546298f319b5"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f9003d-3102-483f-b8c5-f25a39a95ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f864805-e937-43d8-815e-834886e67591","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.650877} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.992273,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1","object_type":"device","rebac_allow":false,"scope_allow":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":"77cf3050-faac-11ee-adee-eb1d2c4f6619"},"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/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling 200 13ms","method":"POST","requestID":"77cf3050-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93283587-1df5-4dc1-8e9e-7eaaadcb0e3f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F93283587-1df5-4dc1-8e9e-7eaaadcb0e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"8ce4512e-2efd-49e4-a9d6-b6d4873f84fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.6651056} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c5d058b-708d-4516-b5dd-db8c5521ad72","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.6655593} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} 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":"64ebdaba1e75b5f3f1eea500bc505db6"},"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:35260","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602953,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11292c1b-1e8f-43e7-9f4d-f387701f074d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b6691c7-0590-49ed-86ba-921eedcc3b59","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.668289} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d","object_type":"device","rebac_allow":false,"scope_allow":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":"77d1a150-faac-11ee-adee-eb1d2c4f6619"},"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/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling 200 15ms","method":"POST","requestID":"77d1a150-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64ebdaba1e75b5f3f1eea500bc505db6"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +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.706","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"025e4159f90cb0d63a82c0eb69490f87"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +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.733","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"0d254d0cb0d92274345117db08b5294e"} experiment_1 | {"level":"info","message":"DELETE /experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f 204 190ms","method":"DELETE","requestID":"64ebdaba1e75b5f3f1eea500bc505db6","responseTime":190,"status":204,"url":"/experiments/93283587-1df5-4dc1-8e9e-7eaaadcb0e3f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"10d81a6cfdafa96643ba8fae3b25de7f","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"10d81a6cfdafa96643ba8fae3b25de7f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"864d876f0d89224def33a08106a0da6d","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"864d876f0d89224def33a08106a0da6d"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/11292c1b-1e8f-43e7-9f4d-f387701f074d' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"245013aec8b4638339b2638b24f3cca3","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.027409,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f2f9003d-3102-483f-b8c5-f25a39a95ea1' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"245013aec8b4638339b2638b24f3cca3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"367b7ed1-92d6-4c15-98b5-542706940da0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.7647703} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"245013aec8b4638339b2638b24f3cca3"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f71589a2-f68b-4484-9352-59d6c5b10656","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.7731335} 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":"245013aec8b4638339b2638b24f3cca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"b35069d5-e18f-4475-98f5-6b1733d68dc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.7828503} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90c2e412-23ba-4459-b2b5-76069cfe004a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.7831752} 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":"245013aec8b4638339b2638b24f3cca3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:14.782830269Z"}]},"request_id":"e4a23c6b-9c06-4c59-a67f-c2ad0a1f3622","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.7896054} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"245013aec8b4638339b2638b24f3cca3"},"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":"245013aec8b4638339b2638b24f3cca3","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"245013aec8b4638339b2638b24f3cca3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"32f0e88c15b275b4ae11897c6ff6b489","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.046579,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"32f0e88c15b275b4ae11897c6ff6b489"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21bbddc1-4f88-482c-8ac0-f6f43658c1d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f64f75b-7a38-4424-b878-045474a60f52","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8221939} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32f0e88c15b275b4ae11897c6ff6b489"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bce4dd2-e0ce-4764-9f5e-7b9a26ce8fd9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8280492} 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":"32f0e88c15b275b4ae11897c6ff6b489"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21bbddc1-4f88-482c-8ac0-f6f43658c1d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"4a9c81e5-d940-4c10-850c-24b6485434af","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8395808} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b64c4095-d87b-4132-b3e2-bcbd20cfd422","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8398542} 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":"32f0e88c15b275b4ae11897c6ff6b489"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21bbddc1-4f88-482c-8ac0-f6f43658c1d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21bbddc1-4f88-482c-8ac0-f6f43658c1d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:14.839558913Z"}]},"request_id":"fef30cf5-d8ce-4049-be60-934604caaf0c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8450468} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32f0e88c15b275b4ae11897c6ff6b489"},"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":"32f0e88c15b275b4ae11897c6ff6b489","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +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":"32f0e88c15b275b4ae11897c6ff6b489"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22def6394a8b06c9abbcd4d360ee5617","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98496,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"22def6394a8b06c9abbcd4d360ee5617"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedaddb6f-47b2-4b1e-951b-56981bec4af0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c64885b-dcde-4484-817b-433e251d1eb2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8770506} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22def6394a8b06c9abbcd4d360ee5617"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05e4b067-68dc-43bf-9811-3f4b9f1931e5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8842707} 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":"22def6394a8b06c9abbcd4d360ee5617"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedaddb6f-47b2-4b1e-951b-56981bec4af0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"87d45c6f-9eae-4b3c-8a6e-670b3d73fcfa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.896142} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58c7679b-d0da-4df4-a292-776b2468d93c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.8965826} 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":"22def6394a8b06c9abbcd4d360ee5617"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedaddb6f-47b2-4b1e-951b-56981bec4af0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedaddb6f-47b2-4b1e-951b-56981bec4af0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:14.896122135Z"}]},"request_id":"8322cedf-e576-4444-ae0c-5f7ae55861ec","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.901947} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22def6394a8b06c9abbcd4d360ee5617"},"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 51ms","method":"POST","requestID":"22def6394a8b06c9abbcd4d360ee5617","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22def6394a8b06c9abbcd4d360ee5617"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"17b337b70b42a52858a4f8ef225e0b18","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.624187,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"17b337b70b42a52858a4f8ef225e0b18"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff84eea75-8a9b-4a84-beb8-d365f67bc323","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d3ec651b-8843-48df-a7bd-e7daf1f9c086","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.9313297} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17b337b70b42a52858a4f8ef225e0b18"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64e30e24-ad93-4e13-b293-46a1cc6bf2b6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.9364135} 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":"17b337b70b42a52858a4f8ef225e0b18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff84eea75-8a9b-4a84-beb8-d365f67bc323","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5044f75f-4c0f-41e3-82fa-93b99f8d8eef","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.9507375} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87c348e2-03dc-406e-925b-35c2461788f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.950825} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17b337b70b42a52858a4f8ef225e0b18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff84eea75-8a9b-4a84-beb8-d365f67bc323","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff84eea75-8a9b-4a84-beb8-d365f67bc323","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:14.950717745Z"}]},"request_id":"20f46ea4-6eab-4466-b1c8-67acc8a6eb00","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.95811} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17b337b70b42a52858a4f8ef225e0b18"},"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 51ms","method":"POST","requestID":"17b337b70b42a52858a4f8ef225e0b18","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17b337b70b42a52858a4f8ef225e0b18"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cad1af32c85abe44d434a31ab9bc0867","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83191,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132914,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNH0.V6O0U50anGjEMklscyYzHarSTLkjteyIczqoDR9pEys"} 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":"cad1af32c85abe44d434a31ab9bc0867"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F084abd7f-eaf3-4372-a9a1-737c3ed19ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"144ce151-a210-47f7-9b42-415a79017538","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132914.9937859} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cad1af32c85abe44d434a31ab9bc0867"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74c105f3-b1f5-4a26-b09d-466a2580f80d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0009263} 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":"cad1af32c85abe44d434a31ab9bc0867"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F084abd7f-eaf3-4372-a9a1-737c3ed19ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"71da5414-08db-4130-a69e-7f002060f4f0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.011004} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5b4be44-a716-4d5f-815e-00cb64c7cd13","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0114958} 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":"cad1af32c85abe44d434a31ab9bc0867"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F084abd7f-eaf3-4372-a9a1-737c3ed19ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F084abd7f-eaf3-4372-a9a1-737c3ed19ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.010988965Z"}]},"request_id":"0982afc1-1bf1-4ec0-9f3d-c88176c13d62","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0167055} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cad1af32c85abe44d434a31ab9bc0867"},"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":"cad1af32c85abe44d434a31ab9bc0867","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cad1af32c85abe44d434a31ab9bc0867"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"604675903af283356f0159c6e14607cb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.161894,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"604675903af283356f0159c6e14607cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd66ce2f-e3ca-4888-9c30-a452dfb7d51b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f3de4a66-d4b8-4ba0-928b-9278202eff9c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0491436} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"604675903af283356f0159c6e14607cb"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"284290e3-836a-4143-a24c-8040967539ab","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0573404} 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":"604675903af283356f0159c6e14607cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd66ce2f-e3ca-4888-9c30-a452dfb7d51b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"72aa2056-dd1b-421b-9b38-e3c279d228a1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0736532} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"102d7cdd-a842-4209-8b44-60861bfa1544","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.07383} 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":"604675903af283356f0159c6e14607cb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd66ce2f-e3ca-4888-9c30-a452dfb7d51b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd66ce2f-e3ca-4888-9c30-a452dfb7d51b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.073628650Z"}]},"request_id":"a4041931-4a7b-4529-97bd-f858dc639e23","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.0811331} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"604675903af283356f0159c6e14607cb"},"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 59ms","method":"POST","requestID":"604675903af283356f0159c6e14607cb","responseTime":59,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +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":"604675903af283356f0159c6e14607cb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8df71260dc84aaf6820cf4dcd89c4f14","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.191736,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"8df71260dc84aaf6820cf4dcd89c4f14"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F107c90d3-41fd-46c8-91c1-9fd2d1c756a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0b0247fd-6eec-4f12-9a75-c6d6bf199816","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.1160276} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df71260dc84aaf6820cf4dcd89c4f14"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e9bde91-b1be-4ce9-8217-7ff5a0c54956","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.123552} 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":"8df71260dc84aaf6820cf4dcd89c4f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F107c90d3-41fd-46c8-91c1-9fd2d1c756a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"686160f2-1b15-4440-a00d-706b9ea6432e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.135471} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78318f95-a783-428e-82a3-289eb0f05058","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.1359897} 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":"8df71260dc84aaf6820cf4dcd89c4f14"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F107c90d3-41fd-46c8-91c1-9fd2d1c756a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F107c90d3-41fd-46c8-91c1-9fd2d1c756a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.135442567Z"}]},"request_id":"26919718-8748-40d1-99e4-ec9f53358c42","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.1428063} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df71260dc84aaf6820cf4dcd89c4f14"},"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 55ms","method":"POST","requestID":"8df71260dc84aaf6820cf4dcd89c4f14","responseTime":55,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +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":"8df71260dc84aaf6820cf4dcd89c4f14"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c55990930ba81d3cde166e172a88aff9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.241599,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"c55990930ba81d3cde166e172a88aff9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee358e12-de5f-4d1e-86be-f8b2fc8e698b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2863a196-6eea-4a73-96b3-dd44fb5e1de4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.1769385} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c55990930ba81d3cde166e172a88aff9"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb11840a-d3d9-4f08-95de-f89a86d88899","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.1841376} 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":"c55990930ba81d3cde166e172a88aff9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee358e12-de5f-4d1e-86be-f8b2fc8e698b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"df651aee-8457-439a-991f-32eb4a5e921f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2000763} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc064d9d-3698-4cd7-916d-58a130caf711","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2001529} 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":"c55990930ba81d3cde166e172a88aff9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee358e12-de5f-4d1e-86be-f8b2fc8e698b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee358e12-de5f-4d1e-86be-f8b2fc8e698b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.200049863Z"}]},"request_id":"5cef10b2-b67f-423b-93aa-ad11764c13ee","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2080476} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c55990930ba81d3cde166e172a88aff9"},"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 58ms","method":"POST","requestID":"c55990930ba81d3cde166e172a88aff9","responseTime":58,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +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":"c55990930ba81d3cde166e172a88aff9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27baa2b66773cec84e3fdafc2172b3fb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.145542,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"27baa2b66773cec84e3fdafc2172b3fb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe47f6d8c-44c4-4c4a-81be-9b160c652022","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"78f5d94a-5243-4412-a8ac-c525741f6bd4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2438035} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27baa2b66773cec84e3fdafc2172b3fb"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a854c680-60a0-4ead-b2f0-7138d885f4fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.251148} 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":"27baa2b66773cec84e3fdafc2172b3fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe47f6d8c-44c4-4c4a-81be-9b160c652022","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"ebda91b5-18e2-4b4d-9da4-0558e2b9071f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2634485} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3736ce4-a6e4-457a-baa9-a88158b5a5ec","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2635622} 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":"27baa2b66773cec84e3fdafc2172b3fb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe47f6d8c-44c4-4c4a-81be-9b160c652022","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe47f6d8c-44c4-4c4a-81be-9b160c652022","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.263404411Z"}]},"request_id":"292a0eac-1e51-4951-9e48-4119689223e5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.2707386} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27baa2b66773cec84e3fdafc2172b3fb"},"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":"27baa2b66773cec84e3fdafc2172b3fb","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +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":"27baa2b66773cec84e3fdafc2172b3fb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81131cd9aba16c8477482f6ad0c6175c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.05989,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"81131cd9aba16c8477482f6ad0c6175c"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe48a437-198e-4051-b6a3-1cf6af3df2c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb0933f6-5cbb-45e7-a9d7-e8c893e56d51","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3051655} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81131cd9aba16c8477482f6ad0c6175c"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3c83bc2-e877-46f2-b0e6-106edf2c6784","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3123176} 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":"81131cd9aba16c8477482f6ad0c6175c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe48a437-198e-4051-b6a3-1cf6af3df2c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"cdb5183e-b9e3-4234-b53f-2b3a2695a78c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3236334} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e6b32d6-390b-4ca2-8d07-3fdc6f1e25fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.323967} 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":"81131cd9aba16c8477482f6ad0c6175c"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe48a437-198e-4051-b6a3-1cf6af3df2c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe48a437-198e-4051-b6a3-1cf6af3df2c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.323611633Z"}]},"request_id":"d04037f2-d555-4ae4-a762-4f01ff842bfc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.331465} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81131cd9aba16c8477482f6ad0c6175c"},"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":"81131cd9aba16c8477482f6ad0c6175c","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81131cd9aba16c8477482f6ad0c6175c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"65798d68fd115962289b67cddcbfb7b6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.055902,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"65798d68fd115962289b67cddcbfb7b6"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15a734df-361f-4ece-8d83-d436b8162613","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3670416} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65798d68fd115962289b67cddcbfb7b6"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d407c921-1fef-43b7-881b-e7458ed37206","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3722436} 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":"65798d68fd115962289b67cddcbfb7b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c90bcf73-1756-4a34-b164-1399dfddce83","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.381867} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e83c0df8-c650-405f-ad30-c447722d9200","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3821163} 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":"65798d68fd115962289b67cddcbfb7b6"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.381851351Z"}]},"request_id":"0d7580c9-7d4a-485d-878a-2ef9fafba177","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.3874066} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65798d68fd115962289b67cddcbfb7b6"},"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":"65798d68fd115962289b67cddcbfb7b6","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65798d68fd115962289b67cddcbfb7b6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a4e2dd3db555d4d4b111c54308f035d6","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.689656,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"a4e2dd3db555d4d4b111c54308f035d6"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"641c7d9a-130b-4cc3-8e77-d31c0e2c23ef","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.415575} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4e2dd3db555d4d4b111c54308f035d6"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db36fe15-cc95-46f4-9963-dac362a6d4d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.4206755} 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":"a4e2dd3db555d4d4b111c54308f035d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8be3f9cb-f22f-49f2-83c6-56dc283f8250","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.4329715} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6347560-6ad7-476f-8293-8da436ba4db3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.4331317} 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":"a4e2dd3db555d4d4b111c54308f035d6"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.432953649Z"}]},"request_id":"d3bbc6b1-0059-439c-9a6f-3e0a4d9ddeb5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.438035} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4e2dd3db555d4d4b111c54308f035d6"},"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":"a4e2dd3db555d4d4b111c54308f035d6","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4e2dd3db555d4d4b111c54308f035d6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"55f90ddbdbd42213f3599abfc29b9abb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.048591,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"55f90ddbdbd42213f3599abfc29b9abb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe74dc3e-663d-435c-8dd9-b62ef9d0d02f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.475366} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55f90ddbdbd42213f3599abfc29b9abb"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0489839c-3678-4f70-811b-42de9e5ced8c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.482935} 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":"55f90ddbdbd42213f3599abfc29b9abb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"d52669b6-4a2f-4c3b-839e-edda518c6b23","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.4950333} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26b25736-4495-4856-a7fc-a411e69ed18d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.4953582} 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":"55f90ddbdbd42213f3599abfc29b9abb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.495011263Z"}]},"request_id":"9d8f0b58-8f6a-4171-999c-85513ff109c7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.5034394} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55f90ddbdbd42213f3599abfc29b9abb"},"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 59ms","method":"POST","requestID":"55f90ddbdbd42213f3599abfc29b9abb","responseTime":59,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55f90ddbdbd42213f3599abfc29b9abb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2c3c1696ad72c48fe091f1d1277aff3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058386,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2c3c1696ad72c48fe091f1d1277aff3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.381851351Z"}]},"request_id":"cd5dceae-0007-4af3-8126-92fa3254539e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.535408} 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":"a2c3c1696ad72c48fe091f1d1277aff3"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ede525b-0ae0-42d7-9cab-803801906634","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.5446706} 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":"a2c3c1696ad72c48fe091f1d1277aff3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.381851351Z"}]},"request_id":"53c0f461-7119-481e-9524-9fae8f1dc436","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.5692883} 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":"a2c3c1696ad72c48fe091f1d1277aff3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/7252b302-10f1-449f-9bc9-04c0f918b233? 200 54ms","method":"PATCH","requestID":"a2c3c1696ad72c48fe091f1d1277aff3","responseTime":54,"status":200,"url":"/devices/7252b302-10f1-449f-9bc9-04c0f918b233?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7252b302-10f1-449f-9bc9-04c0f918b233? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2c3c1696ad72c48fe091f1d1277aff3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05ac74f7e902ef1a1fb121095ef2a3a8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102855,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ac74f7e902ef1a1fb121095ef2a3a8"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.432953649Z"}]},"request_id":"5b9fa9d1-6395-4d33-9ba4-8d8628d29c61","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.6005516} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ac74f7e902ef1a1fb121095ef2a3a8"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be535e0c-b3dc-42bf-86ca-eb2da5e68e0b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.607979} 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":"05ac74f7e902ef1a1fb121095ef2a3a8"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.432953649Z"}]},"request_id":"007cf69c-5ae5-4449-b82c-ed5cb8c45af7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.6190472} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ac74f7e902ef1a1fb121095ef2a3a8"},"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/d8a53f50-ea68-4726-8542-e598a9d8ab22? 200 38ms","method":"PATCH","requestID":"05ac74f7e902ef1a1fb121095ef2a3a8","responseTime":38,"status":200,"url":"/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d8a53f50-ea68-4726-8542-e598a9d8ab22? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05ac74f7e902ef1a1fb121095ef2a3a8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"80dfed8c9198c9dfa447a4af5e127259","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.117207,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80dfed8c9198c9dfa447a4af5e127259"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.495011263Z"}]},"request_id":"fc634fef-1e31-44e3-bc9a-3b5481f69bfd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.6447198} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80dfed8c9198c9dfa447a4af5e127259"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42ef0739-6ebd-4ffb-a649-de4412672b42","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.6516259} 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":"80dfed8c9198c9dfa447a4af5e127259"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.495011263Z"}]},"request_id":"8daa7259-65b8-4f50-bc18-324daed652e5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.665414} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80dfed8c9198c9dfa447a4af5e127259"},"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/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6? 200 39ms","method":"PATCH","requestID":"80dfed8c9198c9dfa447a4af5e127259","responseTime":39,"status":200,"url":"/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6? 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":"80dfed8c9198c9dfa447a4af5e127259"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee30bb29edfaa22730dc1e4faa8671a7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.333119,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee30bb29edfaa22730dc1e4faa8671a7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7252b302-10f1-449f-9bc9-04c0f918b233","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.381851351Z"}]},"request_id":"a91925af-c056-404d-af7c-ce2dd82a560a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.6922164} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee30bb29edfaa22730dc1e4faa8671a7"},"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:35260","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222651,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.063739,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.421327,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2bc3aa8a-bc2f-4034-b70a-12c9c33cc5be","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ee30bb29edfaa22730dc1e4faa8671a7"},"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/21bbddc1-4f88-482c-8ac0-f6f43658c1d7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/21bbddc1-4f88-482c-8ac0-f6f43658c1d7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ee30bb29edfaa22730dc1e4faa8671a7"},"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/edaddb6f-47b2-4b1e-951b-56981bec4af0","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/edaddb6f-47b2-4b1e-951b-56981bec4af0","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ee30bb29edfaa22730dc1e4faa8671a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.359805,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee30bb29edfaa22730dc1e4faa8671a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7252b302-10f1-449f-9bc9-04c0f918b233? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee30bb29edfaa22730dc1e4faa8671a7"} device_1 | {"level":"info","message":"GET /devices/7252b302-10f1-449f-9bc9-04c0f918b233? 200 48ms","method":"GET","requestID":"ee30bb29edfaa22730dc1e4faa8671a7","responseTime":48,"status":200,"url":"/devices/7252b302-10f1-449f-9bc9-04c0f918b233?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"972302b209f5e5595379403d3625913e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284449,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"972302b209f5e5595379403d3625913e"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8a53f50-ea68-4726-8542-e598a9d8ab22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.432953649Z"}]},"request_id":"1e2145a8-7c50-4cef-8e01-a9a4e807acb6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.7487376} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"972302b209f5e5595379403d3625913e"},"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:35260","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153528,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122414,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.677752,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104559,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f84eea75-8a9b-4a84-beb8-d365f67bc323","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/f84eea75-8a9b-4a84-beb8-d365f67bc323","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"972302b209f5e5595379403d3625913e"},"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/084abd7f-eaf3-4372-a9a1-737c3ed19ca0","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/084abd7f-eaf3-4372-a9a1-737c3ed19ca0","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"972302b209f5e5595379403d3625913e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd66ce2f-e3ca-4888-9c30-a452dfb7d51b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd66ce2f-e3ca-4888-9c30-a452dfb7d51b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"972302b209f5e5595379403d3625913e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/107c90d3-41fd-46c8-91c1-9fd2d1c756a9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/107c90d3-41fd-46c8-91c1-9fd2d1c756a9","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"972302b209f5e5595379403d3625913e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} authorization_1 | {"client_addr":"127.0.0.1:54104","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54114","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54104","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.66894,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"972302b209f5e5595379403d3625913e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"client_addr":"127.0.0.1:54114","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.638403,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"972302b209f5e5595379403d3625913e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8a53f50-ea68-4726-8542-e598a9d8ab22? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"972302b209f5e5595379403d3625913e"} device_1 | {"level":"info","message":"GET /devices/d8a53f50-ea68-4726-8542-e598a9d8ab22? 200 55ms","method":"GET","requestID":"972302b209f5e5595379403d3625913e","responseTime":55,"status":200,"url":"/devices/d8a53f50-ea68-4726-8542-e598a9d8ab22?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce2635276c2c2a7c3bd11f7479d04cc3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339383,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce2635276c2c2a7c3bd11f7479d04cc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17ae50c-e8a3-4ac9-9b3e-3df682d72ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.495011263Z"}]},"request_id":"bb45a585-432b-4aab-b73c-f6a965f7b88b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.8108613} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce2635276c2c2a7c3bd11f7479d04cc3"},"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:35260","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873871,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.940407,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54084","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.385949,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee358e12-de5f-4d1e-86be-f8b2fc8e698b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ee358e12-de5f-4d1e-86be-f8b2fc8e698b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ce2635276c2c2a7c3bd11f7479d04cc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e47f6d8c-44c4-4c4a-81be-9b160c652022","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e47f6d8c-44c4-4c4a-81be-9b160c652022","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ce2635276c2c2a7c3bd11f7479d04cc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:54098","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.151372,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be48a437-198e-4051-b6a3-1cf6af3df2c6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be48a437-198e-4051-b6a3-1cf6af3df2c6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ce2635276c2c2a7c3bd11f7479d04cc3"},"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/7252b302-10f1-449f-9bc9-04c0f918b233","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7252b302-10f1-449f-9bc9-04c0f918b233","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"ce2635276c2c2a7c3bd11f7479d04cc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce2635276c2c2a7c3bd11f7479d04cc3"} device_1 | {"level":"info","message":"GET /devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6? 200 36ms","method":"GET","requestID":"ce2635276c2c2a7c3bd11f7479d04cc3","responseTime":36,"status":200,"url":"/devices/e17ae50c-e8a3-4ac9-9b3e-3df682d72ad6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2aab2a0bcaa0e1c98968dbceeab63b27","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.36081,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"2aab2a0bcaa0e1c98968dbceeab63b27"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b13ccf73-1a0c-4ffc-acc8-1e6ff617b09c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.8807008} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aab2a0bcaa0e1c98968dbceeab63b27"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79986a4d-0df2-453a-93de-e2034856a4ca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.8879018} 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":"2aab2a0bcaa0e1c98968dbceeab63b27"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"edf7ef1e-e43f-4d18-86f3-646258a8fc97","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9005394} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9219da28-0a7a-4d62-b213-934e3a72b756","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9006734} 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":"2aab2a0bcaa0e1c98968dbceeab63b27"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.900524328Z"}]},"request_id":"96faa4c5-b911-405b-a9f2-4756b4d4d254","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9101703} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aab2a0bcaa0e1c98968dbceeab63b27"},"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 68ms","method":"POST","requestID":"2aab2a0bcaa0e1c98968dbceeab63b27","responseTime":68,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2aab2a0bcaa0e1c98968dbceeab63b27"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c1e7a74ea6b47f123bab0c6f37b3398","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.264583,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"3c1e7a74ea6b47f123bab0c6f37b3398"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a5f9a63-d55b-4787-bb7e-54da5288bd79","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9458776} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c1e7a74ea6b47f123bab0c6f37b3398"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4279300c-cccb-4e9c-8c1d-ef59d7f51a3a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9544177} 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":"3c1e7a74ea6b47f123bab0c6f37b3398"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"4dafe907-cdd6-4cb7-a8be-f4f02d080723","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9654279} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4eadaac0-39a4-434a-bd49-67e531f5bb4b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9657466} 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":"3c1e7a74ea6b47f123bab0c6f37b3398"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.965409986Z"}]},"request_id":"1ad186f3-4c76-4e48-ad12-83b148171f79","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132915.9714549} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c1e7a74ea6b47f123bab0c6f37b3398"},"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":"3c1e7a74ea6b47f123bab0c6f37b3398","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c1e7a74ea6b47f123bab0c6f37b3398"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0483d80968b01306ef853162f9007852","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.272016,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132915,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxNX0.xnWlgG-KNXK6ZX3PtSUJMWeBaYxDUs3DwXQswM7AEE4"} 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":"0483d80968b01306ef853162f9007852"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39a09786-3100-408e-b5e6-7f799a2567cc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132916.0026512} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0483d80968b01306ef853162f9007852"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f75e106f-326e-429a-928c-72bcdf6ce0b3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132916.0089333} 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":"0483d80968b01306ef853162f9007852"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"2cbdc963-676d-47e4-b938-eff77835566d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132916.0192595} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33371817-f0b8-4cfa-a5a8-06472934fe44","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132916.0195396} 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":"0483d80968b01306ef853162f9007852"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:16.019238028Z"}]},"request_id":"b97df7b1-8740-4311-b27d-55771b07845d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132916.0255706} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0483d80968b01306ef853162f9007852"},"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":"0483d80968b01306ef853162f9007852","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0483d80968b01306ef853162f9007852"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b654638e6341329d10bf2fc9a37aa7cd","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/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":"b654638e6341329d10bf2fc9a37aa7cd"} device_1 | {"level":"info","message":"OPTIONS /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/websocket 200 1ms","method":"OPTIONS","requestID":"b654638e6341329d10bf2fc9a37aa7cd","responseTime":1,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/websocket"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b71901e06a32e3dce6353ebd65b366c7","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/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":"b71901e06a32e3dce6353ebd65b366c7"} device_1 | {"level":"info","message":"OPTIONS /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/websocket 200 0ms","method":"OPTIONS","requestID":"b71901e06a32e3dce6353ebd65b366c7","responseTime":0,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxN30.iAUpRCBhl6t-t_pKpfjR9PY6MyydkUlTRv9YHyTrRnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8180ebf802153f075f5d10fdf851a406","responseTime":6,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxN30.iAUpRCBhl6t-t_pKpfjR9PY6MyydkUlTRv9YHyTrRnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1e051de1d06bfdfebba2061a9cc6a312","responseTime":6,"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:35260","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191943,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132917,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxN30.iAUpRCBhl6t-t_pKpfjR9PY6MyydkUlTRv9YHyTrRnE"} 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":"8180ebf802153f075f5d10fdf851a406"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280587,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132917,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxN30.iAUpRCBhl6t-t_pKpfjR9PY6MyydkUlTRv9YHyTrRnE"} 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":"1e051de1d06bfdfebba2061a9cc6a312"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1e051de1d06bfdfebba2061a9cc6a312"} device_1 | {"level":"info","message":"POST /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/websocket 200 21ms","method":"POST","requestID":"1e051de1d06bfdfebba2061a9cc6a312","responseTime":21,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8180ebf802153f075f5d10fdf851a406"} device_1 | {"level":"info","message":"POST /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/websocket 200 51ms","method":"POST","requestID":"8180ebf802153f075f5d10fdf851a406","responseTime":51,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"420159fd4eedcdd58e290d4e6d6d41ac","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88454,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"420159fd4eedcdd58e290d4e6d6d41ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:16.019238028Z"}]},"request_id":"7b2e38a2-cce0-4ea8-95b9-c700f62b1c07","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.09613} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"420159fd4eedcdd58e290d4e6d6d41ac"},"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":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/717f6155-f6c1-4a08-823a-0d9a57754f62? 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":"420159fd4eedcdd58e290d4e6d6d41ac"} device_1 | {"level":"info","message":"GET /devices/717f6155-f6c1-4a08-823a-0d9a57754f62? 200 17ms","method":"GET","requestID":"420159fd4eedcdd58e290d4e6d6d41ac","responseTime":17,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"35516d2af3e81ce3b7e7caae385077d6","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:35260","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.736931,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"35516d2af3e81ce3b7e7caae385077d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"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:35260","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025893,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38ffe1fb-1526-4a52-a67a-643f84fad7f4","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/38ffe1fb-1526-4a52-a67a-643f84fad7f4","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"79e90fa0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720305,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79e95dc0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ffe1fb-1526-4a52-a67a-643f84fad7f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.965409986Z"}]},"request_id":"398a75ed-d9e1-43c4-93a3-7db303eb31ba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.1815312} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79e90fa0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:16.019238028Z"}]},"request_id":"4967bba4-c95a-415c-b220-593130a9db61","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.1830883} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79e95dc0-faac-11ee-adee-eb1d2c4f6619"},"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/717f6155-f6c1-4a08-823a-0d9a57754f62? 200 18ms","method":"GET","requestID":"79e95dc0-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.54736,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79e90fa0-faac-11ee-adee-eb1d2c4f6619"},"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/38ffe1fb-1526-4a52-a67a-643f84fad7f4? 200 27ms","method":"GET","requestID":"79e90fa0-faac-11ee-adee-eb1d2c4f6619","responseTime":27,"status":200,"url":"/devices/38ffe1fb-1526-4a52-a67a-643f84fad7f4?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"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:35260","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242332,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"79f76780-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259986,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"79f7b5a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77206ced-33d4-4677-841a-fdc9f1a82677","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.2805767} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.608844,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"79f82ad0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.900524328Z"}]},"request_id":"438d9275-e472-4fde-af72-a47353739f24","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.284391} 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":"79f76780-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:16.019238028Z"}]},"request_id":"bddb0e00-51c1-4316-8d57-b3c95e40abc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.290522} 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":"79f7b5a0-faac-11ee-adee-eb1d2c4f6619"},"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/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling 200 29ms","method":"POST","requestID":"79f82ad0-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b96549f-fe31-47fa-979e-f81deececcda#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b96549f-fe31-47fa-979e-f81deececcda","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"28a6b16b-b826-457f-8dd5-3700e3deac79","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.2989798} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cb4b921-e1eb-4c2d-870e-0714c45ba9d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.2994797} 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":"35516d2af3e81ce3b7e7caae385077d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} device_1 | {"level":"info","message":"GET /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8? 200 47ms","method":"GET","requestID":"79f76780-faac-11ee-adee-eb1d2c4f6619","responseTime":47,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/717f6155-f6c1-4a08-823a-0d9a57754f62? 200 47ms","method":"GET","requestID":"79f7b5a0-faac-11ee-adee-eb1d2c4f6619","responseTime":47,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a37dba2-bd26-412b-a337-836634670b41","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.3137448} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.52995,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","rebac_allow":false,"scope_allow":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":"79fda910-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 203ms","method":"POST","requestID":"35516d2af3e81ce3b7e7caae385077d6","responseTime":203,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35516d2af3e81ce3b7e7caae385077d6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} device_1 | {"level":"info","message":"POST /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling 200 21ms","method":"POST","requestID":"79fda910-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2964f4c6-8045-4993-978e-9cb1f1180bd4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.328484} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.880446,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3969d33f11ac35bf66caa378015a1445","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79fff300-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367308,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} device_1 | {"level":"info","message":"POST /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling 200 17ms","method":"POST","requestID":"79fff300-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3969d33f11ac35bf66caa378015a1445"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:15.900524328Z"}]},"request_id":"475c8e12-e14e-4d44-8d60-3ad26671d742","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.3417885} 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":"3969d33f11ac35bf66caa378015a1445"},"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:35260","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"222f3fdb-fc45-4f93-8050-13b7a6c30d3d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.3455534} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.560031,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","rebac_allow":false,"scope_allow":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":"7a030040-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3969d33f11ac35bf66caa378015a1445"} device_1 | {"level":"info","message":"GET /devices/0fc4e299-d227-47f4-b0cd-5254953db2b8? 200 18ms","method":"GET","requestID":"3969d33f11ac35bf66caa378015a1445","responseTime":18,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling 200 15ms","method":"POST","requestID":"7a030040-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to create peerconnections for experiment"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"74820d76e38e81769324ac0738b1eda9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"46c22784-b55a-4043-a01c-e960d7c9d8d5"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"63421405-e86c-43dd-be84-61138dbab31f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d4effeb5-3d92-47a7-b041-edd28ea95640"}]},"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/717f6155-f6c1-4a08-823a-0d9a57754f62"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741262,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74820d76e38e81769324ac0738b1eda9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.033127,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"7a060d80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:16.019238028Z"}]},"request_id":"0f738a4e-9c88-48be-8f4c-60f83ffdf96e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.3680768} 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":"74820d76e38e81769324ac0738b1eda9"},"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":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/717f6155-f6c1-4a08-823a-0d9a57754f62? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74820d76e38e81769324ac0738b1eda9"} device_1 | {"level":"info","message":"GET /devices/717f6155-f6c1-4a08-823a-0d9a57754f62? 200 19ms","method":"GET","requestID":"74820d76e38e81769324ac0738b1eda9","responseTime":19,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"966dfe80-8d82-47c8-b0bf-ce766de7504b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.380323} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"647e6bb9-f747-4631-9ef7-b42b7f2e63da","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.3806767} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a060d80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} 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/65b617e9-2161-4c7b-9951-a944fb75c6b9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9'"} 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 55ms","method":"POST","requestID":"7a060d80-faac-11ee-adee-eb1d2c4f6619","responseTime":55,"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/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"565d8629-3865-4ac1-844b-f266d355bd8e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.457788} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300035,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"7a141740-faac-11ee-adee-eb1d2c4f6619"},"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/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling 200 12ms","method":"POST","requestID":"7a141740-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e32ca348-a55c-4306-99b3-cbeb84e693df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.4703472} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.985522,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","rebac_allow":false,"scope_allow":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":"7a163a20-faac-11ee-adee-eb1d2c4f6619"},"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/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling 200 9ms","method":"POST","requestID":"7a163a20-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c703a82d69d6147eceedfe265e1b7ab7","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":"new","url":"http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"c703a82d69d6147eceedfe265e1b7ab7","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"c703a82d69d6147eceedfe265e1b7ab7"} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","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/65b617e9-2161-4c7b-9951-a944fb75c6b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a9731d557b1f92402317fccf9a6ce5ff","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/717f6155-f6c1-4a08-823a-0d9a57754f62"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F65b617e9-2161-4c7b-9951-a944fb75c6b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b139bf29-670b-4468-8661-52b61103e59a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.684288} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.570023,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9","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":"7a366c50-faac-11ee-adee-eb1d2c4f6619"},"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/65b617e9-2161-4c7b-9951-a944fb75c6b9 200 15ms","method":"GET","requestID":"7a366c50-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"a9731d557b1f92402317fccf9a6ce5ff","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9731d557b1f92402317fccf9a6ce5ff"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94d07d44-3274-4bdd-9c6e-179534a173e9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.7248747} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.861247,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","rebac_allow":false,"scope_allow":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":"7a3c86d0-faac-11ee-adee-eb1d2c4f6619"},"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/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling 200 15ms","method":"POST","requestID":"7a3c86d0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad0bea6b-9a65-485f-beda-18253b715f01","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.7423546} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.557872,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"7a3f6d00-faac-11ee-adee-eb1d2c4f6619"},"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/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling 200 14ms","method":"POST","requestID":"7a3f6d00-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83a7c204317ff93d8023c269e40b47d5","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7b96549f-fe31-47fa-979e-f81deececcda"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.460634,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"83a7c204317ff93d8023c269e40b47d5"},"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/7b96549f-fe31-47fa-979e-f81deececcda"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7b96549f-fe31-47fa-979e-f81deececcda HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83a7c204317ff93d8023c269e40b47d5"} experiment_1 | {"level":"info","message":"GET /experiments/7b96549f-fe31-47fa-979e-f81deececcda 200 18ms","method":"GET","requestID":"83a7c204317ff93d8023c269e40b47d5","responseTime":18,"status":200,"url":"/experiments/7b96549f-fe31-47fa-979e-f81deececcda"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b02f6536c8a1e1e1fadffcb36c246a0c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7b96549f-fe31-47fa-979e-f81deececcda"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.289222,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"b02f6536c8a1e1e1fadffcb36c246a0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.46913,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"7a49a630-faac-11ee-adee-eb1d2c4f6619"},"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/65b617e9-2161-4c7b-9951-a944fb75c6b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d4cc3efd55d8e01679eafb2ed3909f5","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F65b617e9-2161-4c7b-9951-a944fb75c6b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F65b617e9-2161-4c7b-9951-a944fb75c6b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"7faac1be-70a9-4865-99d7-8b817072d960","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.831813} 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/717f6155-f6c1-4a08-823a-0d9a57754f62"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"76872993e7778f89455f5a102de304cb","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f99833b5-406f-4166-bbf5-d06e23939227","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.8324628} 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/717f6155-f6c1-4a08-823a-0d9a57754f62"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a49a630-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"65b617e9-2161-4c7b-9951-a944fb75c6b9","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/65b617e9-2161-4c7b-9951-a944fb75c6b9 204 62ms","method":"DELETE","requestID":"7a49a630-faac-11ee-adee-eb1d2c4f6619","responseTime":62,"status":204,"url":"/peerconnections/65b617e9-2161-4c7b-9951-a944fb75c6b9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7b96549f-fe31-47fa-979e-f81deececcda"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F717f6155-f6c1-4a08-823a-0d9a57754f62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1450eaa4-06dd-4002-b9f4-254b176b4e0a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.8989348} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.270871,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62","object_type":"device","rebac_allow":false,"scope_allow":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":"7a5713b0-faac-11ee-adee-eb1d2c4f6619"},"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/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling 200 16ms","method":"POST","requestID":"7a5713b0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/717f6155-f6c1-4a08-823a-0d9a57754f62/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b96549f-fe31-47fa-979e-f81deececcda': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b96549f-fe31-47fa-979e-f81deececcda","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"09cb2889-6a8d-407d-8d22-fa655bd3f6b8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.913477} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a43fd4ee-13f8-4626-8beb-2ac723923792","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.9137588} 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":"b02f6536c8a1e1e1fadffcb36c246a0c"},"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:35260","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4e299-d227-47f4-b0cd-5254953db2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d6fbcd8-67a4-4d7f-8de6-b69e8b5203a2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132918.920748} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.251207,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8","object_type":"device","rebac_allow":false,"scope_allow":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":"7a5a20f0-faac-11ee-adee-eb1d2c4f6619"},"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/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling 200 21ms","method":"POST","requestID":"7a5a20f0-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/0fc4e299-d227-47f4-b0cd-5254953db2b8/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7b96549f-fe31-47fa-979e-f81deececcda"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7b96549f-fe31-47fa-979e-f81deececcda HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b02f6536c8a1e1e1fadffcb36c246a0c"} experiment_1 | {"level":"info","message":"DELETE /experiments/7b96549f-fe31-47fa-979e-f81deececcda 204 202ms","method":"DELETE","requestID":"b02f6536c8a1e1e1fadffcb36c246a0c","responseTime":202,"status":204,"url":"/experiments/7b96549f-fe31-47fa-979e-f81deececcda"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"6d4cc3efd55d8e01679eafb2ed3909f5","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d4cc3efd55d8e01679eafb2ed3909f5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"76872993e7778f89455f5a102de304cb","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"76872993e7778f89455f5a102de304cb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"320021fc9ef8c64c506c5948841bf99d","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +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.968","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ec8b5114ec53688d6b8f720fdde40a1c"} gateway_1 | {"time_local":"14/Apr/2024:22:15:18 +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.943","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c356b3517aa99df338b620c8158a4aa"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.030741,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132918,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOH0.4FBf9A6TZ9p6_kr82mFCX1A_TyAr-_2sFjcxu6yIKCI"} 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":"320021fc9ef8c64c506c5948841bf99d"},"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/0fc4e299-d227-47f4-b0cd-5254953db2b8' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/717f6155-f6c1-4a08-823a-0d9a57754f62' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc071f8a-d10b-4c3c-b376-3341b61cae2e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.0186844} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"320021fc9ef8c64c506c5948841bf99d"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01b9f885-9f66-43ee-af77-379bf4cb5d32","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.023384} 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":"320021fc9ef8c64c506c5948841bf99d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"be01e295-3de4-42a0-b0ec-8aec6e818c04","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.0321922} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a54f66b4-b386-4209-a35f-a8dcae491145","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.03239} 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":"320021fc9ef8c64c506c5948841bf99d"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"de55ceb7-f024-4569-803d-f32beaee01d3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.0372102} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"320021fc9ef8c64c506c5948841bf99d"},"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":"320021fc9ef8c64c506c5948841bf99d","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"320021fc9ef8c64c506c5948841bf99d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b71b0d9e8f3fd79a4920c9ceefa3ee1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.860019,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132919,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A"} 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":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"854092d3-82b8-4da2-8861-3c1741131be0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.06688} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25080389-9320-4c21-a605-49e325303b96","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.07386} 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":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"2eafd09f-5342-4256-95ba-0e8e52592900","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.0854304} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dbf3a9e-7ec0-4a4d-853f-ce4db5d89dcd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.0859349} 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":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.085405763Z"}]},"request_id":"05a781a7-afad-4bd4-9989-5b4534fb8ede","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.091278} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"},"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":"3b71b0d9e8f3fd79a4920c9ceefa3ee1","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b71b0d9e8f3fd79a4920c9ceefa3ee1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"657680f2d2cf9ec96b9e412c469a3988","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703821,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132919,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"657680f2d2cf9ec96b9e412c469a3988"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"62e0aef9-fef3-45b8-90ca-8f00c5c61446","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.5888932} 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":"657680f2d2cf9ec96b9e412c469a3988"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89b72abe-b522-49b0-aaaf-bf854fc70d6f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.598244} 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":"657680f2d2cf9ec96b9e412c469a3988"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"a724719c-0562-4315-89ef-f83f6bb557fc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132919.6151426} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"657680f2d2cf9ec96b9e412c469a3988"},"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":"14/Apr/2024:22:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"657680f2d2cf9ec96b9e412c469a3988"} device_1 | {"level":"info","message":"PATCH /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd 200 50ms","method":"PATCH","requestID":"657680f2d2cf9ec96b9e412c469a3988","responseTime":50,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00d4b64ccd59d72be258a7d5bd1d6033","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22387,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132919,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkxOX0.EOClUFhwpzIoaC5-ZdX4zhXF11G5IoFw3T5g7dY0s3A"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00d4b64ccd59d72be258a7d5bd1d6033"},"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":"14/Apr/2024:22:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/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.4","requestID":"00d4b64ccd59d72be258a7d5bd1d6033"} device_1 | {"level":"info","message":"POST /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/websocket 200 23ms","method":"POST","requestID":"00d4b64ccd59d72be258a7d5bd1d6033","responseTime":23,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"369761233861e8902d728fd6ab758ac6","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/be062786-d140-4876-af02-19c286ee0f40/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":"369761233861e8902d728fd6ab758ac6"} device_1 | {"level":"info","message":"OPTIONS /devices/be062786-d140-4876-af02-19c286ee0f40/websocket 200 1ms","method":"OPTIONS","requestID":"369761233861e8902d728fd6ab758ac6","responseTime":1,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d05b0eb95281f67b47d7dcaf44ae0916","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.582607,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"d05b0eb95281f67b47d7dcaf44ae0916"},"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":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/be062786-d140-4876-af02-19c286ee0f40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d05b0eb95281f67b47d7dcaf44ae0916"} device_1 | {"level":"info","message":"POST /devices/be062786-d140-4876-af02-19c286ee0f40/websocket 200 30ms","method":"POST","requestID":"d05b0eb95281f67b47d7dcaf44ae0916","responseTime":30,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"224f6eb465bd852951125e4ff5a24686","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242688,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"224f6eb465bd852951125e4ff5a24686"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"ca2befe7-a2fb-4afa-a3eb-ea8b30c830fb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.1947453} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"224f6eb465bd852951125e4ff5a24686"},"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":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 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":"224f6eb465bd852951125e4ff5a24686"} device_1 | {"level":"info","message":"GET /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 200 21ms","method":"GET","requestID":"224f6eb465bd852951125e4ff5a24686","responseTime":21,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98efb8667987689e982f7a4a9ba390df","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.739645,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98efb8667987689e982f7a4a9ba390df"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.085405763Z"}]},"request_id":"fc2517fc-aecd-46f2-b878-ab867e4fcee9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.2257433} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98efb8667987689e982f7a4a9ba390df"},"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":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 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":"98efb8667987689e982f7a4a9ba390df"} device_1 | {"level":"info","message":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 200 23ms","method":"GET","requestID":"98efb8667987689e982f7a4a9ba390df","responseTime":23,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d6ee76f8ce2a85664359022a68268ade","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:35260","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.179944,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"d6ee76f8ce2a85664359022a68268ade"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"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:35260","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141715,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc60d00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853119,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"7bc65b20-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"4357e377-17b3-497f-8f75-dbe3cd7c5ce9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.3093555} 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":"7bc60d00-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.085405763Z"}]},"request_id":"e1ee3aa6-88e6-410e-a692-f7370388bf70","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.3108377} 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":"7bc65b20-faac-11ee-adee-eb1d2c4f6619"},"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/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 200 25ms","method":"GET","requestID":"7bc60d00-faac-11ee-adee-eb1d2c4f6619","responseTime":25,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 200 25ms","method":"GET","requestID":"7bc65b20-faac-11ee-adee-eb1d2c4f6619","responseTime":25,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"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:35260","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13531,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"7bd416c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485079,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"7bd48bf0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37b66c7e-ba31-48e8-ae01-5bbca24f7c0e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4080544} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"688d58ba-4216-4f8d-b14c-dd6ced5be58c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4093287} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.109314,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.085405763Z"}]},"request_id":"6491eef3-dae7-4d3a-9f35-62e327b57cb6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4116158} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","rebac_allow":false,"scope_allow":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":"7bd50120-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bd416c0-faac-11ee-adee-eb1d2c4f6619"},"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":"7bd48bf0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 200 36ms","method":"GET","requestID":"7bd416c0-faac-11ee-adee-eb1d2c4f6619","responseTime":36,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling 200 31ms","method":"POST","requestID":"7bd50120-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 200 36ms","method":"GET","requestID":"7bd48bf0-faac-11ee-adee-eb1d2c4f6619","responseTime":36,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ead8549c-f0ce-4a1c-ba6f-b82ac81c10e9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4363353} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.916178,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","rebac_allow":false,"scope_allow":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":"7bda5850-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08dac0aa-09fa-4644-b720-80af257534cd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4381392} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.047426,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/be062786-d140-4876-af02-19c286ee0f40/signaling 200 14ms","method":"POST","requestID":"7bda5850-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/signaling"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","rebac_allow":false,"scope_allow":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":"7bdacd80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe85f4da8-8169-4001-bd0a-53b1d1f95434#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe85f4da8-8169-4001-bd0a-53b1d1f95434","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5e54c852-07de-4f5d-8746-b7600bba6fe5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.44208} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ac7f515-763a-4c7f-a60d-de277fbea310","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4425814} authorization_1 | {"level":"info","message":"POST /relations/update 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6ee76f8ce2a85664359022a68268ade"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling 200 15ms","method":"POST","requestID":"7bdacd80-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 214ms","method":"POST","requestID":"d6ee76f8ce2a85664359022a68268ade","responseTime":214,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e79b02f4-fa66-4f53-b2ef-db8e20f54b16","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4589179} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6ee76f8ce2a85664359022a68268ade"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.256045,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","rebac_allow":false,"scope_allow":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":"7bde01d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99eb68a736d2c3c250a3aeff9b345750","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12734,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99eb68a736d2c3c250a3aeff9b345750"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"POST /devices/be062786-d140-4876-af02-19c286ee0f40/signaling 200 18ms","method":"POST","requestID":"7bde01d0-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"29b17be4-cd07-42de-88eb-3c8ad0d579d1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"44158050-f6a1-49f8-9603-33eaa7417adb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bb6e0cd9-b123-4a0f-b4ae-e9b6eb9666a0"}]},"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/be062786-d140-4876-af02-19c286ee0f40"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.032164615Z"}]},"request_id":"732a6150-6780-4008-9b81-bbf56b215d1e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.475906} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99eb68a736d2c3c250a3aeff9b345750"},"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:35260","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.745659,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"7be13620-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 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":"99eb68a736d2c3c250a3aeff9b345750"} device_1 | {"level":"info","message":"GET /devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd? 200 16ms","method":"GET","requestID":"99eb68a736d2c3c250a3aeff9b345750","responseTime":16,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49b2299d5deb4f6ec33c26fd7ded8be7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"384b9723-1e6e-41a9-a0df-ee7b27b09946","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4888504} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2f4bd85-cea6-44ba-b65a-d2dc8cc2fb44","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4891915} 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":"7be13620-faac-11ee-adee-eb1d2c4f6619"},"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:35260","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832217,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49b2299d5deb4f6ec33c26fd7ded8be7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:19.085405763Z"}]},"request_id":"799e4672-a3e2-45b2-8060-aebdd678ce83","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.4973927} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49b2299d5deb4f6ec33c26fd7ded8be7"},"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/b037b994-0ae0-4b66-a083-0e197d06c2c1'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"7be13620-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 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":"49b2299d5deb4f6ec33c26fd7ded8be7"} device_1 | {"level":"info","message":"GET /devices/be062786-d140-4876-af02-19c286ee0f40? 200 19ms","method":"GET","requestID":"49b2299d5deb4f6ec33c26fd7ded8be7","responseTime":19,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","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/b037b994-0ae0-4b66-a083-0e197d06c2c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"425205dca43d4d7e3a7dd5a3062aaebb","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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/be062786-d140-4876-af02-19c286ee0f40"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95306b41-e442-4e85-beff-6c5613a4f90b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.552599} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559852,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"425205dca43d4d7e3a7dd5a3062aaebb","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"425205dca43d4d7e3a7dd5a3062aaebb"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","rebac_allow":false,"scope_allow":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":"7bec80c0-faac-11ee-adee-eb1d2c4f6619"},"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/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling 200 18ms","method":"POST","requestID":"7bec80c0-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dd5d012-8f04-4851-bee3-6d78102af080","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.5731854} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.700064,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","rebac_allow":false,"scope_allow":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":"7bef8e00-faac-11ee-adee-eb1d2c4f6619"},"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/be062786-d140-4876-af02-19c286ee0f40/signaling 200 14ms","method":"POST","requestID":"7bef8e00-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/signaling"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","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/b037b994-0ae0-4b66-a083-0e197d06c2c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b035fd41a1dc75b3523f96529b58490b","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/be062786-d140-4876-af02-19c286ee0f40"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb037b994-0ae0-4b66-a083-0e197d06c2c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1825893c-88f1-4ffa-8a2a-2a62483e745b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.6206577} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.515765,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1","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":"7bf6e100-faac-11ee-adee-eb1d2c4f6619"},"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/b037b994-0ae0-4b66-a083-0e197d06c2c1 200 11ms","method":"GET","requestID":"7bf6e100-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"b035fd41a1dc75b3523f96529b58490b","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"b035fd41a1dc75b3523f96529b58490b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99251f42-7857-4e77-93cf-f2566d8f89ba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.6529794} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.204828,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","rebac_allow":false,"scope_allow":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":"7bfbc300-faac-11ee-adee-eb1d2c4f6619"},"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/be062786-d140-4876-af02-19c286ee0f40/signaling 200 10ms","method":"POST","requestID":"7bfbc300-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f649614-7d74-404a-98df-8f6cc1629559","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.664441} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.2622,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","rebac_allow":false,"scope_allow":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":"7bfd97c0-faac-11ee-adee-eb1d2c4f6619"},"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/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling 200 9ms","method":"POST","requestID":"7bfd97c0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4b84dc14507d6eefe80d3f0cb1dd415e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.488421,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"4b84dc14507d6eefe80d3f0cb1dd415e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b84dc14507d6eefe80d3f0cb1dd415e"} experiment_1 | {"level":"info","message":"GET /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434 200 20ms","method":"GET","requestID":"4b84dc14507d6eefe80d3f0cb1dd415e","responseTime":20,"status":200,"url":"/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d379e3b9dca865822bbda42f8830c815","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.350196,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"d379e3b9dca865822bbda42f8830c815"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.69032,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"7c173a40-faac-11ee-adee-eb1d2c4f6619"},"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/b037b994-0ae0-4b66-a083-0e197d06c2c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9b2fae26403ed9ec43147a509693782d","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb037b994-0ae0-4b66-a083-0e197d06c2c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb037b994-0ae0-4b66-a083-0e197d06c2c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"f61f6117-170e-407c-996a-ad4d2a03a268","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.8557215} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dc8acb77b8a43cb0d219a30e38192adc","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d9fa929-0cc0-482f-b72f-d421fa791385","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.856231} 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/be062786-d140-4876-af02-19c286ee0f40"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"}}},"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":"7c173a40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"data":{"peerconnection":"b037b994-0ae0-4b66-a083-0e197d06c2c1","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/b037b994-0ae0-4b66-a083-0e197d06c2c1 204 45ms","method":"DELETE","requestID":"7c173a40-faac-11ee-adee-eb1d2c4f6619","responseTime":45,"status":204,"url":"/peerconnections/b037b994-0ae0-4b66-a083-0e197d06c2c1"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe062786-d140-4876-af02-19c286ee0f40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73ab0548-33b7-44e0-8553-fdbfce33657b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.9034655} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.334274,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be062786-d140-4876-af02-19c286ee0f40","object_type":"device","rebac_allow":false,"scope_allow":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":"7c219a80-faac-11ee-adee-eb1d2c4f6619"},"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/be062786-d140-4876-af02-19c286ee0f40/signaling 200 16ms","method":"POST","requestID":"7c219a80-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/be062786-d140-4876-af02-19c286ee0f40/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe85f4da8-8169-4001-bd0a-53b1d1f95434': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe85f4da8-8169-4001-bd0a-53b1d1f95434","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"3e989cdc-ecc8-4149-acf8-0bb8e19ff0d6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.9135191} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6f13766-fd1b-4ed0-bfb0-6fe146c8de97","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.9137926} 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":"d379e3b9dca865822bbda42f8830c815"},"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:35260","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b5f23ce-faad-49bb-9624-6c1e0676fabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7a2e072-0c24-40c0-b06a-cc3663a78273","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132921.9205446} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829034,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd","object_type":"device","rebac_allow":false,"scope_allow":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":"7c2459a0-faac-11ee-adee-eb1d2c4f6619"},"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/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling 200 14ms","method":"POST","requestID":"7c2459a0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/6b5f23ce-faad-49bb-9624-6c1e0676fabd/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d379e3b9dca865822bbda42f8830c815"} experiment_1 | {"level":"info","message":"DELETE /experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434 204 165ms","method":"DELETE","requestID":"d379e3b9dca865822bbda42f8830c815","responseTime":165,"status":204,"url":"/experiments/e85f4da8-8169-4001-bd0a-53b1d1f95434"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +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.321","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"ffc053b382f2849a275820d401acff47"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"9b2fae26403ed9ec43147a509693782d","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b2fae26403ed9ec43147a509693782d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"dc8acb77b8a43cb0d219a30e38192adc","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc8acb77b8a43cb0d219a30e38192adc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8b4126b8cb931f5bea9c35de87cc4625","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:21 +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.828","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"89aa5b8950205688db755f5c5c906426"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.909553,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132921,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMX0.HohUmjw4pARhW1zgXHpAzMk4b6vP5xKQUV_a4KMLEEE"} 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":"8b4126b8cb931f5bea9c35de87cc4625"},"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/6b5f23ce-faad-49bb-9624-6c1e0676fabd' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"84cbd136-7504-4ed8-93ce-d68419fa27ab","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0053911} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b4126b8cb931f5bea9c35de87cc4625"},"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/be062786-d140-4876-af02-19c286ee0f40' 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d25db1cc-95fa-4ef5-90f0-921dfc851f3d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0123246} 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":"8b4126b8cb931f5bea9c35de87cc4625"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9f833518-492a-4f61-8a4d-ec95a3f8da85","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0229475} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f55fe86d-9c7a-4acb-a506-770783777436","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0229883} 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":"8b4126b8cb931f5bea9c35de87cc4625"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.022926462Z"}]},"request_id":"cde3d002-be00-4e01-bdf3-47fffce73794","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0278053} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b4126b8cb931f5bea9c35de87cc4625"},"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":"8b4126b8cb931f5bea9c35de87cc4625","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b4126b8cb931f5bea9c35de87cc4625"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMn0.5cjHL5p4dCopq3LyOMvTyeqJfM8_KO__-S9ixk7y53I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9b8a47d6812c9a6dbeb5f85e5b639ad2","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:22Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.827797,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132922,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyMn0.5cjHL5p4dCopq3LyOMvTyeqJfM8_KO__-S9ixk7y53I"} 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":"9b8a47d6812c9a6dbeb5f85e5b639ad2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c1e012c-82e9-4efc-931e-41b5f645e225","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0520542} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b8a47d6812c9a6dbeb5f85e5b639ad2"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3302e87f-c4ae-448c-bc3a-8798538d431d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.057192} 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":"9b8a47d6812c9a6dbeb5f85e5b639ad2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"1262a647-c879-422a-ad6d-428115cdc702","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0676897} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"983dd422-428b-44c0-9d15-47e29b95a424","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0678394} 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":"9b8a47d6812c9a6dbeb5f85e5b639ad2"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.067668686Z"}]},"request_id":"84b7a16d-f91e-4724-988d-1bdb2d430f44","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132922.0729475} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b8a47d6812c9a6dbeb5f85e5b639ad2"},"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 40ms","method":"POST","requestID":"9b8a47d6812c9a6dbeb5f85e5b639ad2","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b8a47d6812c9a6dbeb5f85e5b639ad2"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"38633b525a7c5d869b104d708bfe6d57","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b94a09e3-1843-4969-85b7-9c06ce569277/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":"38633b525a7c5d869b104d708bfe6d57"} device_1 | {"level":"info","message":"OPTIONS /devices/b94a09e3-1843-4969-85b7-9c06ce569277/websocket 200 1ms","method":"OPTIONS","requestID":"38633b525a7c5d869b104d708bfe6d57","responseTime":1,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"42a63b1e2612398dfc119b9510c30dc9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0c02c28b76349a69d73df153920a83a5","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/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":"0c02c28b76349a69d73df153920a83a5"} device_1 | {"level":"info","message":"OPTIONS /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/websocket 200 1ms","method":"OPTIONS","requestID":"0c02c28b76349a69d73df153920a83a5","responseTime":1,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/websocket"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.425309,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"42a63b1e2612398dfc119b9510c30dc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b2b59822947403e54c601de836dd8ebf","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658669,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"b2b59822947403e54c601de836dd8ebf"},"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":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b94a09e3-1843-4969-85b7-9c06ce569277/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"42a63b1e2612398dfc119b9510c30dc9"} device_1 | {"level":"info","message":"POST /devices/b94a09e3-1843-4969-85b7-9c06ce569277/websocket 200 33ms","method":"POST","requestID":"42a63b1e2612398dfc119b9510c30dc9","responseTime":33,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b2b59822947403e54c601de836dd8ebf"} device_1 | {"level":"info","message":"POST /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/websocket 200 26ms","method":"POST","requestID":"b2b59822947403e54c601de836dd8ebf","responseTime":26,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f3fe39c2e43e9a473ab72467a29d5eb9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142946,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3fe39c2e43e9a473ab72467a29d5eb9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.022926462Z"}]},"request_id":"af4755f6-803d-4aa5-9377-f7aad98bfb91","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.1261113} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3fe39c2e43e9a473ab72467a29d5eb9"},"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 200 17ms","method":"GET","requestID":"f3fe39c2e43e9a473ab72467a29d5eb9","responseTime":17,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 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":"f3fe39c2e43e9a473ab72467a29d5eb9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"feb898dcff2fce526783c57d32aff9ff","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.255494,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feb898dcff2fce526783c57d32aff9ff"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.067668686Z"}]},"request_id":"5eaf8972-55b3-47d5-b165-57944e0088c9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.1507704} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feb898dcff2fce526783c57d32aff9ff"},"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":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 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":"feb898dcff2fce526783c57d32aff9ff"} device_1 | {"level":"info","message":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 200 15ms","method":"GET","requestID":"feb898dcff2fce526783c57d32aff9ff","responseTime":15,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8ba9d459210d8e4d3bfa686ed35dbfd","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:35260","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.243191,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"b8ba9d459210d8e4d3bfa686ed35dbfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"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:35260","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201847,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d857040-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694624,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d859750-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.022926462Z"}]},"request_id":"29d51efa-7f7f-4a12-8495-adc17bcb4d85","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.23825} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d857040-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.067668686Z"}]},"request_id":"de27b3b5-f50a-4c57-b71c-051b34f66e6b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.2394626} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d859750-faac-11ee-adee-eb1d2c4f6619"},"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 200 17ms","method":"GET","requestID":"7d857040-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 200 16ms","method":"GET","requestID":"7d859750-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"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:35260","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.474532,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d90e1f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.60136,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"7d913010-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39770","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.022926462Z"}]},"request_id":"deb12b98-de70-4b12-8632-037ea4c51c81","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3166704} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d90e1f0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.067668686Z"}]},"request_id":"69923a58-613e-4c49-b328-7530b3dc6224","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3182707} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2161fc5a-fad5-4476-a4a6-f72c49b18767","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.318662} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d913010-faac-11ee-adee-eb1d2c4f6619"},"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:39770","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.853155,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","rebac_allow":false,"scope_allow":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":"7d917e30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F128cdd57-5476-4150-88b3-9537c3aad52f#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F128cdd57-5476-4150-88b3-9537c3aad52f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"432ad4d0-9bcf-49ef-a926-4e587dedfd2a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3236756} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ab295d0-8d42-4ac9-a6f3-e8debe75acfc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3239372} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8ba9d459210d8e4d3bfa686ed35dbfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 200 23ms","method":"GET","requestID":"7d90e1f0-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 200 22ms","method":"GET","requestID":"7d913010-faac-11ee-adee-eb1d2c4f6619","responseTime":22,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling 200 21ms","method":"POST","requestID":"7d917e30-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04ab649d-ec96-4a03-bac9-41c4948d46fa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3377767} experiment_1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"b8ba9d459210d8e4d3bfa686ed35dbfd","responseTime":174,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c6d72dd-4084-4ebb-82d0-f96c4b524dc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3380778} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.148495,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","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":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8ba9d459210d8e4d3bfa686ed35dbfd"} 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":"7d954ec0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.490275,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","rebac_allow":false,"scope_allow":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":"7d959ce0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a0e4ecb28e4bff4e8f0470d935411a1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling 200 13ms","method":"POST","requestID":"7d954ec0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling 200 13ms","method":"POST","requestID":"7d959ce0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909324,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"6a0e4ecb28e4bff4e8f0470d935411a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.022926462Z"}]},"request_id":"c4d7f93c-7529-4ed5-94a9-8f95d9b207e8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3540356} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3d2c5f-20f1-4eb2-87f6-d5c1e7bf4e75","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3541179} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a0e4ecb28e4bff4e8f0470d935411a1"},"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:35260","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341847,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","rebac_allow":false,"scope_allow":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":"7d97bfc0-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 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":"6a0e4ecb28e4bff4e8f0470d935411a1"} device_1 | {"level":"info","message":"GET /devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071? 200 15ms","method":"GET","requestID":"6a0e4ecb28e4bff4e8f0470d935411a1","responseTime":15,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling 200 12ms","method":"POST","requestID":"7d97bfc0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"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":"afde86ae-febd-4ddd-a3b2-5aef6f698cbe"},{"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":"ac545678-e296-46cf-a345-b6bda7acb0b6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"49636db0-c9d2-435d-b27a-6540d313b28d"}]},"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/b94a09e3-1843-4969-85b7-9c06ce569277"},{"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e212c05294d0e15926a177248701374","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.8229,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"7d9a30c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.535529,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"7e212c05294d0e15926a177248701374"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:22.067668686Z"}]},"request_id":"15e08cbb-e149-4d98-9749-3fe47986f7be","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3741512} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e212c05294d0e15926a177248701374"},"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":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 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":"7e212c05294d0e15926a177248701374"} device_1 | {"level":"info","message":"GET /devices/b94a09e3-1843-4969-85b7-9c06ce569277? 200 12ms","method":"GET","requestID":"7e212c05294d0e15926a177248701374","responseTime":12,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"15316027-4988-4f50-b08b-540bed2d274a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.3781285} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b65df935-90bb-4510-bc43-a9c2e80ba205","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.378284} 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":"7d9a30c0-faac-11ee-adee-eb1d2c4f6619"},"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/198f76da-340c-4cbf-b805-4bf70dc37e46'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"7d9a30c0-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dcb9e0e-1d69-4adc-8640-fc75146c4a16","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.4309473} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.164549,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","rebac_allow":false,"scope_allow":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":"7da3a6a0-faac-11ee-adee-eb1d2c4f6619"},"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling 200 10ms","method":"POST","requestID":"7da3a6a0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b0c34ba-0d5e-42ab-b37d-f0fb2cc32234","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.4448273} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.110348,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","rebac_allow":false,"scope_allow":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":"7da57b60-faac-11ee-adee-eb1d2c4f6619"},"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/b94a09e3-1843-4969-85b7-9c06ce569277/signaling 200 11ms","method":"POST","requestID":"7da57b60-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8f68a492d0908e86d2ec617b52e77cb4","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277"},{"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8f68a492d0908e86d2ec617b52e77cb4","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f68a492d0908e86d2ec617b52e77cb4"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","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/198f76da-340c-4cbf-b805-4bf70dc37e46' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6136baae37109e39881885e92d46486","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/b94a09e3-1843-4969-85b7-9c06ce569277"},{"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F198f76da-340c-4cbf-b805-4bf70dc37e46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf36b8f0-07ea-439a-a059-f6e61efc9f00","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.655078} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.953503,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46","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":"7dc5ad90-faac-11ee-adee-eb1d2c4f6619"},"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/198f76da-340c-4cbf-b805-4bf70dc37e46 200 13ms","method":"GET","requestID":"7dc5ad90-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"e6136baae37109e39881885e92d46486","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"e6136baae37109e39881885e92d46486"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c863f5e4-8c8b-4719-a49d-7eb4ffe37c47","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.690205} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.076601,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","rebac_allow":false,"scope_allow":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":"7dcaddb0-faac-11ee-adee-eb1d2c4f6619"},"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/b94a09e3-1843-4969-85b7-9c06ce569277/signaling 200 16ms","method":"POST","requestID":"7dcaddb0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60220614-7ce5-453e-8da5-fda6b48ac7ff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.7100415} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.714513,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","rebac_allow":false,"scope_allow":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":"7dcdc3e0-faac-11ee-adee-eb1d2c4f6619"},"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling 200 16ms","method":"POST","requestID":"7dcdc3e0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcfa6cf3663bff79838b057661b68904","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/128cdd57-5476-4150-88b3-9537c3aad52f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.115959,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"fcfa6cf3663bff79838b057661b68904"},"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/128cdd57-5476-4150-88b3-9537c3aad52f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/128cdd57-5476-4150-88b3-9537c3aad52f 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":"fcfa6cf3663bff79838b057661b68904"} experiment_1 | {"level":"info","message":"GET /experiments/128cdd57-5476-4150-88b3-9537c3aad52f 200 18ms","method":"GET","requestID":"fcfa6cf3663bff79838b057661b68904","responseTime":18,"status":200,"url":"/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc6f14ba0547df13d4b43b9a2152176a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/128cdd57-5476-4150-88b3-9537c3aad52f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.301778,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"fc6f14ba0547df13d4b43b9a2152176a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.195874,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"7dd9d1d0-faac-11ee-adee-eb1d2c4f6619"},"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/198f76da-340c-4cbf-b805-4bf70dc37e46' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F198f76da-340c-4cbf-b805-4bf70dc37e46': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F198f76da-340c-4cbf-b805-4bf70dc37e46","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"c4f120d1-f7dd-481e-9317-1ed0c857a2d5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.8092084} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2384c706492d616dc2a253e3255bd370","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce367e5e-1e58-459e-920f-ded9a64461c6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.8096976} 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/b94a09e3-1843-4969-85b7-9c06ce569277"},{"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b38239b6e2a698d498c7673fcb09fea1","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":"7dd9d1d0-faac-11ee-adee-eb1d2c4f6619"},"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/b94a09e3-1843-4969-85b7-9c06ce569277"},{"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"198f76da-340c-4cbf-b805-4bf70dc37e46","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/198f76da-340c-4cbf-b805-4bf70dc37e46 204 65ms","method":"DELETE","requestID":"7dd9d1d0-faac-11ee-adee-eb1d2c4f6619","responseTime":65,"status":204,"url":"/peerconnections/198f76da-340c-4cbf-b805-4bf70dc37e46"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb94a09e3-1843-4969-85b7-9c06ce569277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8db42f8e-090f-4871-9ca6-dfd4d3b19c15","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.8828325} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.33469,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277","object_type":"device","rebac_allow":false,"scope_allow":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":"7de829b0-faac-11ee-adee-eb1d2c4f6619"},"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/b94a09e3-1843-4969-85b7-9c06ce569277/signaling 200 19ms","method":"POST","requestID":"7de829b0-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/b94a09e3-1843-4969-85b7-9c06ce569277/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F128cdd57-5476-4150-88b3-9537c3aad52f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F128cdd57-5476-4150-88b3-9537c3aad52f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"e72303b1-349d-4f59-9545-e9c1399cf7cc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.8936963} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4d8a978-2d91-4488-ae40-3ba9508f2086","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.8950722} 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":"fc6f14ba0547df13d4b43b9a2152176a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1c11399-ca9f-4d18-bb9d-73635f2b0071","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"149ae425-69b6-4dce-805e-86db06ea9a3d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132924.9122462} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.607661,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071","object_type":"device","rebac_allow":false,"scope_allow":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":"7dec6f70-faac-11ee-adee-eb1d2c4f6619"},"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/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling 200 17ms","method":"POST","requestID":"7dec6f70-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/128cdd57-5476-4150-88b3-9537c3aad52f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/128cdd57-5476-4150-88b3-9537c3aad52f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc6f14ba0547df13d4b43b9a2152176a"} experiment_1 | {"level":"info","message":"DELETE /experiments/128cdd57-5476-4150-88b3-9537c3aad52f 204 213ms","method":"DELETE","requestID":"fc6f14ba0547df13d4b43b9a2152176a","responseTime":213,"status":204,"url":"/experiments/128cdd57-5476-4150-88b3-9537c3aad52f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 168ms","method":"POST","requestID":"2384c706492d616dc2a253e3255bd370","responseTime":168,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"2384c706492d616dc2a253e3255bd370"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 167ms","method":"POST","requestID":"b38239b6e2a698d498c7673fcb09fea1","responseTime":168,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"b38239b6e2a698d498c7673fcb09fea1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2434","request_time":"0.911","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8c03e52a88953a3625735a68261f812d"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"level":"info","message":"GET /auth 200 19ms","method":"GET","requestID":"4578d6f2223bf46686cff7a9ef67eed5","responseTime":19,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:24 +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.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":"28c1c0641ac3dc7ce15363f3833c68eb"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d1c11399-ca9f-4d18-bb9d-73635f2b0071' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.980399,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132924,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNH0.in9kjXk0XnNBv79GoBprgz3HPQJZMJkAvhVernujfa8"} 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":"4578d6f2223bf46686cff7a9ef67eed5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b94a09e3-1843-4969-85b7-9c06ce569277' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ea9fe462-25c2-4ca9-a460-0796c9a49293","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0200377} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4578d6f2223bf46686cff7a9ef67eed5"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae450a0b-6dac-40bb-86e7-495eb6e2fdd9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0242836} 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":"4578d6f2223bf46686cff7a9ef67eed5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"f18f366a-22a5-4288-a2d1-ba8714dca0d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0340514} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"052f91b2-865e-4e5b-a88c-78b34ebc9384","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0343318} 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":"4578d6f2223bf46686cff7a9ef67eed5"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.034031425Z"}]},"request_id":"702cc86c-9185-486a-bdbc-134471f1ac92","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0385938} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4578d6f2223bf46686cff7a9ef67eed5"},"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":"4578d6f2223bf46686cff7a9ef67eed5","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4578d6f2223bf46686cff7a9ef67eed5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNX0.qnY4sOGWuoPs7bEGJUonhUeIc4GBTh9GLgSGr1MktRk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5aaa182facff7d8b61e3e70ab8902e73","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:25Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740114,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132925,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyNX0.qnY4sOGWuoPs7bEGJUonhUeIc4GBTh9GLgSGr1MktRk"} 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":"5aaa182facff7d8b61e3e70ab8902e73"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc35f9c9-45dc-4c4b-b713-e535f4de080d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0640097} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aaa182facff7d8b61e3e70ab8902e73"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acf812bb-cce3-4a59-893d-472cb07fbe59","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0685217} 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":"5aaa182facff7d8b61e3e70ab8902e73"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"368bd2c0-4fe1-4234-a785-8131510ca164","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.079026} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dcfcda0-8b03-4b8a-a5fd-1851180010d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0791414} 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":"5aaa182facff7d8b61e3e70ab8902e73"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.079009269Z"}]},"request_id":"e7d2d084-01b7-4591-afd9-189145e2d455","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132925.0835977} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aaa182facff7d8b61e3e70ab8902e73"},"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":"5aaa182facff7d8b61e3e70ab8902e73","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5aaa182facff7d8b61e3e70ab8902e73"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7e0e6957931e9a55f45cf88c6b23bac7","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/websocket 200 1ms","method":"OPTIONS","requestID":"7e0e6957931e9a55f45cf88c6b23bac7","responseTime":1,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/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":"7e0e6957931e9a55f45cf88c6b23bac7"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c01fc342c943183eb606e39499592672","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/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":"c01fc342c943183eb606e39499592672"} device_1 | {"level":"info","message":"OPTIONS /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/websocket 200 1ms","method":"OPTIONS","requestID":"c01fc342c943183eb606e39499592672","responseTime":1,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac228f65eed5166449485c99586284c4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"48010acb0f3b8fbc7794634326639883","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.424646,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac228f65eed5166449485c99586284c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300363,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48010acb0f3b8fbc7794634326639883"},"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":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/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":"ac228f65eed5166449485c99586284c4"} device_1 | {"level":"info","message":"POST /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/websocket 200 39ms","method":"POST","requestID":"ac228f65eed5166449485c99586284c4","responseTime":39,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/websocket 200 47ms","method":"POST","requestID":"48010acb0f3b8fbc7794634326639883","responseTime":47,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"48010acb0f3b8fbc7794634326639883"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b7d33314ea2efe447b468f65fdad421","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32025,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"7b7d33314ea2efe447b468f65fdad421"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.034031425Z"}]},"request_id":"c52f250f-710f-45c7-b2b9-ae5b7b209698","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.1596825} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b7d33314ea2efe447b468f65fdad421"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 200 20ms","method":"GET","requestID":"7b7d33314ea2efe447b468f65fdad421","responseTime":20,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 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":"7b7d33314ea2efe447b468f65fdad421"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e92eae9f6e5891d5ad6abbe5ea3d82cd","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744183,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"e92eae9f6e5891d5ad6abbe5ea3d82cd"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.079009269Z"}]},"request_id":"e6a075f5-dc7c-4e75-a7a3-6da9b654e710","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.189562} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e92eae9f6e5891d5ad6abbe5ea3d82cd"},"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":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 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":"e92eae9f6e5891d5ad6abbe5ea3d82cd"} device_1 | {"level":"info","message":"GET /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 200 23ms","method":"GET","requestID":"e92eae9f6e5891d5ad6abbe5ea3d82cd","responseTime":23,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de3a96cb3e2c11f88840ca53c907b52c","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:35260","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.639962,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"de3a96cb3e2c11f88840ca53c907b52c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"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:35260","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975137,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"7f50ba60-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75794,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f510880-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.034031425Z"}]},"request_id":"c159c78f-e0c1-41e8-ae97-2841820cd139","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.253606} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f50ba60-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.079009269Z"}]},"request_id":"d6f8983b-96f8-43de-b5c5-c940ad5d65f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.255047} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f510880-faac-11ee-adee-eb1d2c4f6619"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 200 25ms","method":"GET","requestID":"7f50ba60-faac-11ee-adee-eb1d2c4f6619","responseTime":25,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 200 24ms","method":"GET","requestID":"7f510880-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"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:35260","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.078493,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f5d8ba0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.952015,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"7f5dd9c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"318e3f82-b7c5-41c0-b94b-bbbeab4fa3be","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3359337} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.445563,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","rebac_allow":false,"scope_allow":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":"7f5e27e0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.034031425Z"}]},"request_id":"12ef10f8-af9e-4b61-b2c4-8c233e00a272","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.339205} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.079009269Z"}]},"request_id":"c2cbf821-8bbf-4ad9-9e53-681d8efb2e98","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3416805} 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":"7f5d8ba0-faac-11ee-adee-eb1d2c4f6619"},"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":"7f5dd9c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5952bb2-1c89-465f-bca8-2b3265de6de9#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5952bb2-1c89-465f-bca8-2b3265de6de9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"3e018663-7474-4737-a56f-3ff15e5de348","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3515055} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling 200 26ms","method":"POST","requestID":"7f5e27e0-faac-11ee-adee-eb1d2c4f6619","responseTime":26,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd9b957d-01e1-482a-9249-8f3e2af2babd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3518512} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 200 31ms","method":"GET","requestID":"7f5d8ba0-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"de3a96cb3e2c11f88840ca53c907b52c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"GET /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 200 31ms","method":"GET","requestID":"7f5dd9c0-faac-11ee-adee-eb1d2c4f6619","responseTime":31,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"328180a0-e2d7-49dc-b35e-d93dd338bcb4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3608186} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.912654,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","rebac_allow":false,"scope_allow":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":"7f6294b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling 200 15ms","method":"POST","requestID":"7f6294b0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"de3a96cb3e2c11f88840ca53c907b52c","responseTime":170,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de3a96cb3e2c11f88840ca53c907b52c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba75de2853d7462e101cd0a511be2487","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e9c4738-5445-4618-9fee-1d2777e57a8b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3779137} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.234967,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f644260-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling 200 24ms","method":"POST","requestID":"7f644260-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186573,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba75de2853d7462e101cd0a511be2487"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.034031425Z"}]},"request_id":"aafbd3e5-a433-405b-ba3f-b389af81e3c2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.397446} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba75de2853d7462e101cd0a511be2487"},"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:35260","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b21ab825-1b53-4280-b94c-b22e6bc170d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.3999887} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.50728,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 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":"ba75de2853d7462e101cd0a511be2487"} 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":"7f68af30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"GET /devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e? 200 20ms","method":"GET","requestID":"ba75de2853d7462e101cd0a511be2487","responseTime":20,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling 200 10ms","method":"POST","requestID":"7f68af30-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Building connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} 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":"c9ca2aca-45d6-4c63-b91f-170884892e21"},{"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":"fbfd920a-9df1-42e9-84ac-45efd949d942"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ea334d95-79e4-42d5-8d44-b1eed865f367"}]},"level":"info","message":"Built pairwise service configurations"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7290b50fe386cb737de953b0ca28bed3","responseTime":3,"status":200,"url":"/auth"} 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/e31cc331-82e3-4fdf-a392-b1f18e672a7b"},{"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613946,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7290b50fe386cb737de953b0ca28bed3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.509474,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"7f6ad210-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:25.079009269Z"}]},"request_id":"dc5c3827-b9b4-4814-bc72-9c9a4960efd3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.416864} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7290b50fe386cb737de953b0ca28bed3"},"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/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 200 14ms","method":"GET","requestID":"7290b50fe386cb737de953b0ca28bed3","responseTime":14,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b? 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":"7290b50fe386cb737de953b0ca28bed3"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9bdbe618-5e98-4642-9510-3a9327c8f649","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.4228556} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71e1a4f3-196a-47b7-aa23-2ae3d3ce9abd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.4230423} 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":"7f6ad210-faac-11ee-adee-eb1d2c4f6619"},"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/f96255ed-e9c9-49ad-b9c6-43c8bf388846'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"7f6ad210-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd75a575-9543-4d85-8f84-ad8aff3068f6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.4780672} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557141,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","rebac_allow":false,"scope_allow":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":"7f749610-faac-11ee-adee-eb1d2c4f6619"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling 200 9ms","method":"POST","requestID":"7f749610-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78173207-3dbe-436a-bb59-aa3d889775ca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.4884245} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229096,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","rebac_allow":false,"scope_allow":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":"7f7643c0-faac-11ee-adee-eb1d2c4f6619"},"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/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling 200 8ms","method":"POST","requestID":"7f7643c0-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f96255ed-e9c9-49ad-b9c6-43c8bf388846","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"289a8e4ec0fbb11b49dff4dafad7afdf","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/e31cc331-82e3-4fdf-a392-b1f18e672a7b"},{"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"289a8e4ec0fbb11b49dff4dafad7afdf","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"289a8e4ec0fbb11b49dff4dafad7afdf"} device_1 | {"data":{"peerconnection":"f96255ed-e9c9-49ad-b9c6-43c8bf388846","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"f96255ed-e9c9-49ad-b9c6-43c8bf388846","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/f96255ed-e9c9-49ad-b9c6-43c8bf388846' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f96255ed-e9c9-49ad-b9c6-43c8bf388846","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d4aa7a2c1fdc5bc6434b2d788151ce8a","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/e31cc331-82e3-4fdf-a392-b1f18e672a7b"},{"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff96255ed-e9c9-49ad-b9c6-43c8bf388846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c575ec0-bcc7-42a2-875b-2e75f8709b78","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.6990879} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.980375,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846","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":"7f9600c0-faac-11ee-adee-eb1d2c4f6619"},"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/f96255ed-e9c9-49ad-b9c6-43c8bf388846 200 13ms","method":"GET","requestID":"7f9600c0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"d4aa7a2c1fdc5bc6434b2d788151ce8a","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4aa7a2c1fdc5bc6434b2d788151ce8a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7e033c5-b6f8-4f6c-b1fe-6087abb7ae62","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.7381117} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.61098,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","rebac_allow":false,"scope_allow":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":"7f9bf430-faac-11ee-adee-eb1d2c4f6619"},"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/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling 200 15ms","method":"POST","requestID":"7f9bf430-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c05e17a6-3db9-4d70-8265-f2f8032746c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.75882} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.655156,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","rebac_allow":false,"scope_allow":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":"7f9eda60-faac-11ee-adee-eb1d2c4f6619"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling 200 17ms","method":"POST","requestID":"7f9eda60-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"301ae6c9797aa3afbd2b999bfe1b0199","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.218719,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"301ae6c9797aa3afbd2b999bfe1b0199"},"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/c5952bb2-1c89-465f-bca8-2b3265de6de9"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"301ae6c9797aa3afbd2b999bfe1b0199"} experiment_1 | {"level":"info","message":"GET /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9 200 19ms","method":"GET","requestID":"301ae6c9797aa3afbd2b999bfe1b0199","responseTime":19,"status":200,"url":"/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"504ecd30e129e9eef87617e3db4bcfdc","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.426267,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"504ecd30e129e9eef87617e3db4bcfdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.327558,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132927,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyN30.QuyfUrEoTfwRBUB-HQX2ZARQyiyiCaiQ_khaFIOLd0s"} 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":"7fabd2b0-faac-11ee-adee-eb1d2c4f6619"},"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/f96255ed-e9c9-49ad-b9c6-43c8bf388846' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f96255ed-e9c9-49ad-b9c6-43c8bf388846","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff96255ed-e9c9-49ad-b9c6-43c8bf388846': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff96255ed-e9c9-49ad-b9c6-43c8bf388846","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"3d5a1fd0-2a47-4dc3-a872-ef63b2406898","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.8641028} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ed01770-021d-4c35-8cd5-b45a9f1a01e7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.8646526} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ebfeb40eca399d21fe33a417d24614a2","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"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":"7fabd2b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/e31cc331-82e3-4fdf-a392-b1f18e672a7b"},{"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b2cb8be29f2d79119bec606c654c5b37","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b"},{"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846 204 55ms","method":"DELETE","requestID":"7fabd2b0-faac-11ee-adee-eb1d2c4f6619","responseTime":55,"status":204,"url":"/peerconnections/f96255ed-e9c9-49ad-b9c6-43c8bf388846"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe31cc331-82e3-4fdf-a392-b1f18e672a7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a0f092b-bbaf-4d20-a07f-1ff8a791798a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.9240499} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.674089,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b","object_type":"device","rebac_allow":false,"scope_allow":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":"7fb82ec0-faac-11ee-adee-eb1d2c4f6619"},"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/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling 200 14ms","method":"POST","requestID":"7fb82ec0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5952bb2-1c89-465f-bca8-2b3265de6de9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc5952bb2-1c89-465f-bca8-2b3265de6de9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"4ac9df87-affc-4bd2-be97-dcf769cddf09","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.932594} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dfa2914-c7c5-4b99-a6a3-bfcb657aa354","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.9328969} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"504ecd30e129e9eef87617e3db4bcfdc"},"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:35260","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8ee647e-5a6e-447b-bfd4-5464a6d9710e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a4bc196-3226-4ae7-8021-008d4bb8fb95","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132927.9410777} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.504911,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e","object_type":"device","rebac_allow":false,"scope_allow":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":"7fbaede0-faac-11ee-adee-eb1d2c4f6619"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling 200 13ms","method":"POST","requestID":"7fbaede0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/e8ee647e-5a6e-447b-bfd4-5464a6d9710e/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"} gateway_1 | {"time_local":"14/Apr/2024:22:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9 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":"504ecd30e129e9eef87617e3db4bcfdc"} experiment_1 | {"level":"info","message":"DELETE /experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9 204 184ms","method":"DELETE","requestID":"504ecd30e129e9eef87617e3db4bcfdc","responseTime":184,"status":204,"url":"/experiments/c5952bb2-1c89-465f-bca8-2b3265de6de9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"ebfeb40eca399d21fe33a417d24614a2","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebfeb40eca399d21fe33a417d24614a2"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"b2cb8be29f2d79119bec606c654c5b37"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"b2cb8be29f2d79119bec606c654c5b37","responseTime":135,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f46a6b33af27d0f1b16ff38a74140fe","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2434","request_time":"0.890","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87a242720eca1be20f6cc42595983981"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2167","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":"d11c4301b44fc56510fb00de144cddb4"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.093359,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132928,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU"} 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":"5f46a6b33af27d0f1b16ff38a74140fe"},"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/e8ee647e-5a6e-447b-bfd4-5464a6d9710e' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e31cc331-82e3-4fdf-a392-b1f18e672a7b' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1371736c-1e53-49d7-ae0d-0f821945b471","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.0326009} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f46a6b33af27d0f1b16ff38a74140fe"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4af84032-1ce9-4447-abdd-a6323c9cc219","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.0372887} 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":"5f46a6b33af27d0f1b16ff38a74140fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"3b9fc49e-6af9-40f4-babf-0bb94feb7817","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.049167} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bf6cdff-3863-4cac-98d6-4152fb815746","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.049395} 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":"5f46a6b33af27d0f1b16ff38a74140fe"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.049145702Z"}]},"request_id":"2510cb22-7067-4e0c-817d-f361568cd40c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.053658} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f46a6b33af27d0f1b16ff38a74140fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"5f46a6b33af27d0f1b16ff38a74140fe","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f46a6b33af27d0f1b16ff38a74140fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d55800b32a171749880c92c5e37a4430","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.660389,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132928,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU"} 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":"d55800b32a171749880c92c5e37a4430"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15ce83cb-b318-41ad-94a6-3e8fd1cdcccf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.0835454} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d55800b32a171749880c92c5e37a4430"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30d84b38-616e-4a79-bbbd-2ed0572af5ab","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.088091} 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":"d55800b32a171749880c92c5e37a4430"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8ac9d28c-5f6f-4b9e-9eb6-99c2e63feec6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.0979617} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fbd64a0-1e2e-4532-b58d-c3a899962913","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.0981555} 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":"d55800b32a171749880c92c5e37a4430"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"0ed5cc58-d928-41a9-90f1-e611108296f8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.1020205} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d55800b32a171749880c92c5e37a4430"},"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":"d55800b32a171749880c92c5e37a4430","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d55800b32a171749880c92c5e37a4430"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b51eecafbebd3ee744ccda5a4c58904b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856231,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132928,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b51eecafbebd3ee744ccda5a4c58904b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"005ab343-1647-40f4-8c6f-a8b549328025","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.5922966} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b51eecafbebd3ee744ccda5a4c58904b"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"173b0190-de23-4ecb-bb91-bdf79570e0f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.6001236} 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":"b51eecafbebd3ee744ccda5a4c58904b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"ee4b0b6b-baaa-458f-9de5-a5a8776472ab","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132928.6245341} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b51eecafbebd3ee744ccda5a4c58904b"},"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55 200 52ms","method":"PATCH","requestID":"b51eecafbebd3ee744ccda5a4c58904b","responseTime":52,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55"} gateway_1 | {"time_local":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"b51eecafbebd3ee744ccda5a4c58904b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fad8c060092a2864c7df480b22fb5a31","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193147,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132928,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkyOH0.fPvj8OWZ2mBL9pC98ZSTdsWVMmsznme-FfnofZMAseU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fad8c060092a2864c7df480b22fb5a31"},"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":"14/Apr/2024:22:15:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"fad8c060092a2864c7df480b22fb5a31"} device_1 | {"level":"info","message":"POST /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/websocket 200 30ms","method":"POST","requestID":"fad8c060092a2864c7df480b22fb5a31","responseTime":30,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1cf7c8771c3ccf244d9343e4955b56b9","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/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":"1cf7c8771c3ccf244d9343e4955b56b9"} device_1 | {"level":"info","message":"OPTIONS /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/websocket 200 1ms","method":"OPTIONS","requestID":"1cf7c8771c3ccf244d9343e4955b56b9","responseTime":1,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"cd901ebbcc59061d3bc674310a846592","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.452519,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd901ebbcc59061d3bc674310a846592"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/websocket 200 45ms","method":"POST","requestID":"cd901ebbcc59061d3bc674310a846592","responseTime":45,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cd901ebbcc59061d3bc674310a846592"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"018cb3d404098a2c56ff953699d5ec76","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.345931,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"018cb3d404098a2c56ff953699d5ec76"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.049145702Z"}]},"request_id":"e2294b8c-dcbd-47da-a024-1f41fcdc975c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.2072115} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"018cb3d404098a2c56ff953699d5ec76"},"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":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 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":"018cb3d404098a2c56ff953699d5ec76"} device_1 | {"level":"info","message":"GET /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 200 22ms","method":"GET","requestID":"018cb3d404098a2c56ff953699d5ec76","responseTime":22,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3deda004499729c523300dfd0514ac3b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.331692,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3deda004499729c523300dfd0514ac3b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"cd34826b-8dbf-4fff-807e-5e12eff2a8de","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.239521} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3deda004499729c523300dfd0514ac3b"},"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55? 200 21ms","method":"GET","requestID":"3deda004499729c523300dfd0514ac3b","responseTime":21,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55? 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":"3deda004499729c523300dfd0514ac3b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"717fa560e50ca5e2f358ed53057b1061","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:35260","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.275024,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"717fa560e50ca5e2f358ed53057b1061"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"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:35260","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.589025,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357148,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"81268bd0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"8126d9f0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.049145702Z"}]},"request_id":"27c09631-55c2-4000-a3c0-4199d6f357ae","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.329891} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81268bd0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"8be20982-1bf8-498c-9e96-77c05d0454fe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.3311727} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8126d9f0-faac-11ee-adee-eb1d2c4f6619"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 200 20ms","method":"GET","requestID":"81268bd0-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55? 200 19ms","method":"GET","requestID":"8126d9f0-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"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:35260","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006817,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"813272b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181814,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"813299c0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.049145702Z"}]},"request_id":"96cdce06-cba2-48f5-a804-292ca1ced3da","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4093683} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"43e8905d-9b50-4e24-b4dd-9a5f31721df9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4105554} 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":"813272b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"813299c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24371ee9-9dc4-4c9e-bc06-a022e38f82bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.413693} authorization_1 | {"client_addr":"127.0.0.1:39786","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:39786","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.249386,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8132c0d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"GET /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 200 24ms","method":"GET","requestID":"813272b0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04205afc-1a61-4ad7-83ea-4ccbdcc81c8f#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"3f2f02a2-6e46-4ae0-8cc9-4dc0ce43699c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.416802} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e43a31f-20f9-43ea-b14e-4333a7b6d1ee","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4172943} device_1 | {"level":"info","message":"GET /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55? 200 24ms","method":"GET","requestID":"813299c0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55?"} 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":"717fa560e50ca5e2f358ed53057b1061"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling 200 29ms","method":"POST","requestID":"8132c0d0-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47af59e5-7c58-469f-b1de-d3bf39331826","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4332654} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.473999,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","rebac_allow":false,"scope_allow":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":"8136df80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"717fa560e50ca5e2f358ed53057b1061","responseTime":180,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling 200 16ms","method":"POST","requestID":"8136df80-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"717fa560e50ca5e2f358ed53057b1061"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9421a7e2-fce6-4ff8-a3a7-bd5ae7d08db8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.441308} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.583014,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","rebac_allow":false,"scope_allow":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":"81383f10-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"220f223437043f3f55691e37f1d8766c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling 200 14ms","method":"POST","requestID":"81383f10-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"395aaee5-cfb1-4c09-8058-6f2c5de40d17","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4486644} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.771482,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","rebac_allow":false,"scope_allow":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":"8139c5b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.583895,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"220f223437043f3f55691e37f1d8766c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling 200 12ms","method":"POST","requestID":"8139c5b0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.049145702Z"}]},"request_id":"69c84dcb-276b-4ed7-92d1-72f0a596f186","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.4561138} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"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":"d557906c-28a5-4363-a8dd-80cbd44bc838"},{"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":"3fac003a-f667-4eb2-acae-81d8592eb503"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c331821a-5f03-4ec1-8eea-da48376431d3"}]},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932"},{"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"220f223437043f3f55691e37f1d8766c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 200 14ms","method":"GET","requestID":"220f223437043f3f55691e37f1d8766c","responseTime":14,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932? 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":"220f223437043f3f55691e37f1d8766c"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.915011,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"813c36b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"033b9620f1bd637561dbf7aacd5bfd81","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.460357,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"033b9620f1bd637561dbf7aacd5bfd81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"195882ec-a0d0-43b9-8ac8-e75a9547de61","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.473957} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02029674-fc33-4b7a-8feb-f55170f50000","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.474176} 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":"813c36b0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:28.097944565Z"}]},"request_id":"d4f0a0c6-0004-4cef-b84d-7052967c82b0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.479007} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"033b9620f1bd637561dbf7aacd5bfd81"},"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/45fe8617-741e-4670-a793-544fc55951de'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de'"} 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":"813c36b0-faac-11ee-adee-eb1d2c4f6619","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":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"033b9620f1bd637561dbf7aacd5bfd81"} device_1 | {"level":"info","message":"GET /devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55? 200 37ms","method":"GET","requestID":"033b9620f1bd637561dbf7aacd5bfd81","responseTime":37,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a2c628b-8e0e-4902-a017-fef14d9d81a1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.5395322} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.542696,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","rebac_allow":false,"scope_allow":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":"8147cf70-faac-11ee-adee-eb1d2c4f6619"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling 200 9ms","method":"POST","requestID":"8147cf70-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e615b7d-241b-41e3-ac39-45bdd4497bb8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.5505524} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.397777,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","rebac_allow":false,"scope_allow":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":"81497d20-faac-11ee-adee-eb1d2c4f6619"},"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling 200 9ms","method":"POST","requestID":"81497d20-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0965f9e0485369362e033bd9b7c8d245","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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932"},{"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"0965f9e0485369362e033bd9b7c8d245","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0965f9e0485369362e033bd9b7c8d245"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","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/45fe8617-741e-4670-a793-544fc55951de' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ad2760144a14fcce9d33b84fac9b67d","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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932"},{"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45fe8617-741e-4670-a793-544fc55951de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b974c456-f226-4a83-99e7-7888764f68d5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.6383326} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.136292,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de","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":"81569c80-faac-11ee-adee-eb1d2c4f6619"},"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/45fe8617-741e-4670-a793-544fc55951de 200 11ms","method":"GET","requestID":"81569c80-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/peerconnections/45fe8617-741e-4670-a793-544fc55951de"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"5ad2760144a14fcce9d33b84fac9b67d","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ad2760144a14fcce9d33b84fac9b67d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8257452e-8f43-4843-9aea-aa832d724a9d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.664983} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.159806,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","rebac_allow":false,"scope_allow":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":"815abb30-faac-11ee-adee-eb1d2c4f6619"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling 200 11ms","method":"POST","requestID":"815abb30-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e9dee1e-08e5-4d35-9641-086135eac6c6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.67755} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739744,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","rebac_allow":false,"scope_allow":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":"815cb700-faac-11ee-adee-eb1d2c4f6619"},"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling 200 11ms","method":"POST","requestID":"815cb700-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d3f1dde2f6f765893ba23c04b1755c12","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.121053,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"d3f1dde2f6f765893ba23c04b1755c12"},"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/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} experiment_1 | {"level":"info","message":"GET /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f 200 18ms","method":"GET","requestID":"d3f1dde2f6f765893ba23c04b1755c12","responseTime":18,"status":200,"url":"/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f 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":"d3f1dde2f6f765893ba23c04b1755c12"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e7f489f587047a7b0a780ee79517b04","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.26738,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"0e7f489f587047a7b0a780ee79517b04"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.304301,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"816c4760-faac-11ee-adee-eb1d2c4f6619"},"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/45fe8617-741e-4670-a793-544fc55951de' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a0649c52f11dd429172954513fa6ea63","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932"},{"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b421aaf323c03d72c5beea034670ffba","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45fe8617-741e-4670-a793-544fc55951de': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45fe8617-741e-4670-a793-544fc55951de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"39c81f21-664d-4236-bef4-e5b0fae53d41","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.801613} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ed3307f-af9a-4cc1-aa7d-209b917fc93c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.8021746} 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":"816c4760-faac-11ee-adee-eb1d2c4f6619"},"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","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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932"},{"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45fe8617-741e-4670-a793-544fc55951de"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"45fe8617-741e-4670-a793-544fc55951de","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/45fe8617-741e-4670-a793-544fc55951de 204 59ms","method":"DELETE","requestID":"816c4760-faac-11ee-adee-eb1d2c4f6619","responseTime":59,"status":204,"url":"/peerconnections/45fe8617-741e-4670-a793-544fc55951de"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42a844f-4aa5-4a49-bd67-c98b3dfcc932","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71c8a902-0564-4302-ac55-0f9c6b03e504","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.8681676} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.200461,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932","object_type":"device","rebac_allow":false,"scope_allow":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":"817966c0-faac-11ee-adee-eb1d2c4f6619"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling 200 17ms","method":"POST","requestID":"817966c0-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/c42a844f-4aa5-4a49-bd67-c98b3dfcc932/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04205afc-1a61-4ad7-83ea-4ccbdcc81c8f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04205afc-1a61-4ad7-83ea-4ccbdcc81c8f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"6f8aeefd-51c2-4ecc-ae07-f718a9730409","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.8798904} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c30d131-5cfa-4a3f-9afc-00e5d5117d99","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.8804028} 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":"0e7f489f587047a7b0a780ee79517b04"},"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:35260","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b55a59e-9aab-4700-81b2-f8adc99b3a55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47301d11-fcd2-47b8-bb98-c396ed4fdce6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.8882017} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.95989,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55","object_type":"device","rebac_allow":false,"scope_allow":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":"817c7400-faac-11ee-adee-eb1d2c4f6619"},"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/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling 200 17ms","method":"POST","requestID":"817c7400-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/6b55a59e-9aab-4700-81b2-f8adc99b3a55/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e7f489f587047a7b0a780ee79517b04"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2117","request_time":"2.281","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"dcb94a57c97f7791dcb62e7c029f36f1"} experiment_1 | {"level":"info","message":"DELETE /experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f 204 193ms","method":"DELETE","requestID":"0e7f489f587047a7b0a780ee79517b04","responseTime":193,"status":204,"url":"/experiments/04205afc-1a61-4ad7-83ea-4ccbdcc81c8f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"a0649c52f11dd429172954513fa6ea63","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0649c52f11dd429172954513fa6ea63"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"b421aaf323c03d72c5beea034670ffba","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"b421aaf323c03d72c5beea034670ffba"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"210da230ef35d4ff20257441f19efcb0","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:30 +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.789","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba56d26d1886a1437579157d736d86fc"} 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/6b55a59e-9aab-4700-81b2-f8adc99b3a55' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913238,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132930,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMH0.3-IaG3lfaKw6p_lMTAvgsNfVqshXZ0BcC58NiGI7Q2I"} 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":"210da230ef35d4ff20257441f19efcb0"},"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/c42a844f-4aa5-4a49-bd67-c98b3dfcc932' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82a5fd74-7666-443a-9400-f89084e3e3b3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.9754272} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"210da230ef35d4ff20257441f19efcb0"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10088dd3-4dbf-4cba-bad2-888a15c1e0b3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.980819} 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":"210da230ef35d4ff20257441f19efcb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"0360da43-39f0-4bfd-96c9-8b2edb2311ca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.9942906} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30597a18-2cc7-40dd-932f-897422a0f3df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.9944038} 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":"210da230ef35d4ff20257441f19efcb0"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:30.994264199Z"}]},"request_id":"0b63b04d-e61d-44f9-a98f-480c4541fde0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132930.9996006} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"210da230ef35d4ff20257441f19efcb0"},"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":"210da230ef35d4ff20257441f19efcb0","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"210da230ef35d4ff20257441f19efcb0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edba94fa45e70c0b8695d0d0c01990d7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.672788,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132931,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s"} 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":"edba94fa45e70c0b8695d0d0c01990d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5811da53-ea2a-4b90-b321-b1d3851b5d04","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.0247743} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edba94fa45e70c0b8695d0d0c01990d7"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19e7a12a-f222-4ef1-aa35-ef91b0bb189f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.0298254} 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":"edba94fa45e70c0b8695d0d0c01990d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"1e4f9cdc-bc6d-4e07-aae8-0db304345ea3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.0385785} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4bafd6c-7e6c-48b6-8ac6-4cb2cb6f8470","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.0387752} 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":"edba94fa45e70c0b8695d0d0c01990d7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"856827df-c0ee-41fb-8e37-f6461af3330b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.043071} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edba94fa45e70c0b8695d0d0c01990d7"},"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":"edba94fa45e70c0b8695d0d0c01990d7","responseTime":36,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edba94fa45e70c0b8695d0d0c01990d7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63dc5e1a93a186a9c24a88b39485d8e0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117651,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132931,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63dc5e1a93a186a9c24a88b39485d8e0"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"838d08db-e581-4837-9d4b-c032e790842b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.54292} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63dc5e1a93a186a9c24a88b39485d8e0"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e3b59ce-8efd-48f9-8d44-c6709f3cbb21","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.5501037} 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":"63dc5e1a93a186a9c24a88b39485d8e0"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"055e47f8-6a03-44e3-bd93-ea2d6d90ebb4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132931.5805306} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63dc5e1a93a186a9c24a88b39485d8e0"},"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":"14/Apr/2024:22:15:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"63dc5e1a93a186a9c24a88b39485d8e0"} device_1 | {"level":"info","message":"PATCH /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51 200 56ms","method":"PATCH","requestID":"63dc5e1a93a186a9c24a88b39485d8e0","responseTime":56,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ef80d816d083ce62a135deae5706923a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363848,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132931,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzMX0.BHlrCq1sbBJGNeAcjRp86JWNC2P-QaH3kaOOLwxLa1s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef80d816d083ce62a135deae5706923a"},"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":"14/Apr/2024:22:15:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/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.4","requestID":"ef80d816d083ce62a135deae5706923a"} device_1 | {"level":"info","message":"POST /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/websocket 200 23ms","method":"POST","requestID":"ef80d816d083ce62a135deae5706923a","responseTime":23,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e243e3b895d21d21c757088bf1c4ef21","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/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":"e243e3b895d21d21c757088bf1c4ef21"} device_1 | {"level":"info","message":"OPTIONS /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/websocket 200 1ms","method":"OPTIONS","requestID":"e243e3b895d21d21c757088bf1c4ef21","responseTime":1,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"72b955d6184adccbc380ab8215aab2fe","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160746,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72b955d6184adccbc380ab8215aab2fe"},"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":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/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":"72b955d6184adccbc380ab8215aab2fe"} device_1 | {"level":"info","message":"POST /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/websocket 200 39ms","method":"POST","requestID":"72b955d6184adccbc380ab8215aab2fe","responseTime":39,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19a937e2fdcdb2559e5d9a7d8cad53b3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.717421,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19a937e2fdcdb2559e5d9a7d8cad53b3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:30.994264199Z"}]},"request_id":"e2abbb84-5c3d-457d-ba35-f16639f8c21a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.1723742} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19a937e2fdcdb2559e5d9a7d8cad53b3"},"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":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19a937e2fdcdb2559e5d9a7d8cad53b3"} device_1 | {"level":"info","message":"GET /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? 200 20ms","method":"GET","requestID":"19a937e2fdcdb2559e5d9a7d8cad53b3","responseTime":20,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28619bd0c371aa24a0f5c342afa06df2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.431961,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28619bd0c371aa24a0f5c342afa06df2"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"a807f397-6309-48ef-ab0a-cf016a639a76","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.1975586} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28619bd0c371aa24a0f5c342afa06df2"},"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":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 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":"28619bd0c371aa24a0f5c342afa06df2"} device_1 | {"level":"info","message":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 200 15ms","method":"GET","requestID":"28619bd0c371aa24a0f5c342afa06df2","responseTime":15,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc29b471286baab1c96120386ae2e982","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:35260","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.221039,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"bc29b471286baab1c96120386ae2e982"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"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:35260","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174427,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"82ea0dc0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867884,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"82ea5be0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:30.994264199Z"}]},"request_id":"d6415ed8-20ea-49d1-ac65-2fd9dda23332","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.290148} 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":"82ea0dc0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"7b5ab684-c4b5-4c72-bee4-559d0008e409","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.2914417} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82ea5be0-faac-11ee-adee-eb1d2c4f6619"},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? 200 24ms","method":"GET","requestID":"82ea0dc0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 200 23ms","method":"GET","requestID":"82ea5be0-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"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/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.67157,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"82f75430-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.923434,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"82f7c960-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.878334,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"996670a6-dafd-41a7-9dce-5e70f2a874f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.3804507} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","rebac_allow":false,"scope_allow":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":"82f83e90-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:30.994264199Z"}]},"request_id":"6820242b-43f2-4af0-9c15-d92178b1029c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.384689} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling 200 22ms","method":"POST","requestID":"82f83e90-faac-11ee-adee-eb1d2c4f6619","responseTime":22,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling"} 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":"82f75430-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"c113c315-dd75-4d9c-9db4-e0a3de38a029","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.3908923} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"82f7c960-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca7b23a-794e-4f21-add3-b401e65f275a#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca7b23a-794e-4f21-add3-b401e65f275a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"2f4f7bb3-d78b-459c-b57d-fee5670374e8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.3964117} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b3ebe4d-9369-45e4-bd06-b07c7f326bf7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.396839} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc29b471286baab1c96120386ae2e982"},"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:35260","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} device_1 | {"level":"info","message":"GET /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? 200 40ms","method":"GET","requestID":"82f75430-faac-11ee-adee-eb1d2c4f6619","responseTime":40,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ece7f444-8c0d-4f8d-8b7c-4effb499e54c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.404522} device_1 | {"level":"info","message":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 200 39ms","method":"GET","requestID":"82f7c960-faac-11ee-adee-eb1d2c4f6619","responseTime":39,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.676417,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","rebac_allow":false,"scope_allow":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":"82fc3630-faac-11ee-adee-eb1d2c4f6619"},"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling 200 17ms","method":"POST","requestID":"82fc3630-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b4804b-c82e-4efc-8bdc-f123da4ffa62","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.4177148} experiment_1 | {"data":{"experiment":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.154942,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"bc29b471286baab1c96120386ae2e982","responseTime":213,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","rebac_allow":false,"scope_allow":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":"82fece40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.218","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc29b471286baab1c96120386ae2e982"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling 200 12ms","method":"POST","requestID":"82fece40-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a916cf8021adf0b3d976aee8cb3cfa62","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2c1587d-60bf-47c3-a03b-23ce73b4640d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.4330065} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143341,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"a916cf8021adf0b3d976aee8cb3cfa62"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.74298,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","rebac_allow":false,"scope_allow":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":"83011830-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:30.994264199Z"}]},"request_id":"06a66c0c-2b56-4799-b5ce-e6d31c92eab3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.4382055} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling 200 12ms","method":"POST","requestID":"83011830-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/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":"a916cf8021adf0b3d976aee8cb3cfa62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"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":"f26fa660-9a9f-4657-8dc0-075f8b63ec2a"},{"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":"0c5a201d-bc5b-4cc9-99a4-6e941e450c42"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4ca7721-7f77-4a1b-94ed-67662f976bf4"}]},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2"},{"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"}],"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":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? 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":"a916cf8021adf0b3d976aee8cb3cfa62"} device_1 | {"level":"info","message":"GET /devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2? 200 16ms","method":"GET","requestID":"a916cf8021adf0b3d976aee8cb3cfa62","responseTime":16,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.107756,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"83036220-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f027d374d41721ec51c2172ebbfd969","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846953,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f027d374d41721ec51c2172ebbfd969"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:31.038559011Z"}]},"request_id":"51497bf9-c076-42e6-bca9-f8524ee1a574","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.461549} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"b72a5763-08b0-4fde-94e7-0b8bb912ef36","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.463223} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2956313c-592a-4dcb-b8b1-0f92d1451144","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.4637053} 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":"0f027d374d41721ec51c2172ebbfd969"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} 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":"83036220-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 200 23ms","method":"GET","requestID":"0f027d374d41721ec51c2172ebbfd969","responseTime":23,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51? 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":"0f027d374d41721ec51c2172ebbfd969"} 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/9fdd33b7-abfe-402d-8660-5d5b3ae446ec'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec'"} 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 55ms","method":"POST","requestID":"83036220-faac-11ee-adee-eb1d2c4f6619","responseTime":55,"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":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"305d8ff4-317b-45c7-9306-b15d0d94c436","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.5347095} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.211653,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","rebac_allow":false,"scope_allow":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":"8310a890-faac-11ee-adee-eb1d2c4f6619"},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling 200 12ms","method":"POST","requestID":"8310a890-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2f2e5053baa7dea6e40f55f0ec225f9","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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2"},{"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38bc5079-9af9-405f-b085-4ba373d42b1c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.549879} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.61514,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e2f2e5053baa7dea6e40f55f0ec225f9","responseTime":6,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8312f280-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2f2e5053baa7dea6e40f55f0ec225f9"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling 200 14ms","method":"POST","requestID":"8312f280-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling"} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","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/9fdd33b7-abfe-402d-8660-5d5b3ae446ec' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2dacf3cdd76970c64dda4d39d45bf2b3","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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2"},{"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fdd33b7-abfe-402d-8660-5d5b3ae446ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42e05c96-329d-4c4a-b05f-521673d62dbc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.6135085} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.06976,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec","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":"831cb680-faac-11ee-adee-eb1d2c4f6619"},"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/9fdd33b7-abfe-402d-8660-5d5b3ae446ec 200 10ms","method":"GET","requestID":"831cb680-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"2dacf3cdd76970c64dda4d39d45bf2b3","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"2dacf3cdd76970c64dda4d39d45bf2b3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f2463cd-795e-45e4-b624-2a272cde44c7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.6392407} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.575139,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","rebac_allow":false,"scope_allow":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":"8320ae20-faac-11ee-adee-eb1d2c4f6619"},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling 200 11ms","method":"POST","requestID":"8320ae20-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51c41929-d7eb-4ecc-96de-22501777fe6b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.6533313} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448278,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","rebac_allow":false,"scope_allow":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":"8322a9f0-faac-11ee-adee-eb1d2c4f6619"},"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling 200 13ms","method":"POST","requestID":"8322a9f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c882c6e2f4736a83536392f1a371093","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dca7b23a-794e-4f21-add3-b401e65f275a"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.287995,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"2c882c6e2f4736a83536392f1a371093"},"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/dca7b23a-794e-4f21-add3-b401e65f275a"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dca7b23a-794e-4f21-add3-b401e65f275a HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c882c6e2f4736a83536392f1a371093"} experiment_1 | {"level":"info","message":"GET /experiments/dca7b23a-794e-4f21-add3-b401e65f275a 200 16ms","method":"GET","requestID":"2c882c6e2f4736a83536392f1a371093","responseTime":16,"status":200,"url":"/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e88a2b5014959762f8ba753110075e54","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dca7b23a-794e-4f21-add3-b401e65f275a"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.693496,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"e88a2b5014959762f8ba753110075e54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.221858,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"83303e80-faac-11ee-adee-eb1d2c4f6619"},"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/9fdd33b7-abfe-402d-8660-5d5b3ae446ec' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a8d382db4db52169ee429c169955e312","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2"},{"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4492e09696e817cb5b5da8aea9ace75","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2"},{"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fdd33b7-abfe-402d-8660-5d5b3ae446ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fdd33b7-abfe-402d-8660-5d5b3ae446ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"d1963ae5-067d-4c2f-bde3-8d6ba267dbca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.7644281} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70cb1097-7f1d-461d-b3c3-2f16d5d0bb2b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.7646563} 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":"83303e80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"9fdd33b7-abfe-402d-8660-5d5b3ae446ec","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/9fdd33b7-abfe-402d-8660-5d5b3ae446ec 204 59ms","method":"DELETE","requestID":"83303e80-faac-11ee-adee-eb1d2c4f6619","responseTime":59,"status":204,"url":"/peerconnections/9fdd33b7-abfe-402d-8660-5d5b3ae446ec"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4265c4a3-84b7-4529-96e7-10718c3f7402","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.8270981} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.26284,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2","object_type":"device","rebac_allow":false,"scope_allow":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":"833d0fc0-faac-11ee-adee-eb1d2c4f6619"},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling 200 14ms","method":"POST","requestID":"833d0fc0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca7b23a-794e-4f21-add3-b401e65f275a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca7b23a-794e-4f21-add3-b401e65f275a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"115569eb-d09a-4003-b662-b8b6494fa65f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.8359988} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b5d1c4a-a245-485a-a1c8-5569421b7341","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.8366442} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e88a2b5014959762f8ba753110075e54"},"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:35260","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F473a7bc6-eea7-450c-bcb7-e6ab9205fa51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbcc9075-6314-4c63-887b-c6d1763e5a50","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.8434093} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.284655,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51","object_type":"device","rebac_allow":false,"scope_allow":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":"833fa7d0-faac-11ee-adee-eb1d2c4f6619"},"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/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling 200 16ms","method":"POST","requestID":"833fa7d0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dca7b23a-794e-4f21-add3-b401e65f275a"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dca7b23a-794e-4f21-add3-b401e65f275a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e88a2b5014959762f8ba753110075e54"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2117","request_time":"2.283","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"52eb086e5b5ea342a32b687a2225a2ce"} experiment_1 | {"level":"info","message":"DELETE /experiments/dca7b23a-794e-4f21-add3-b401e65f275a 204 180ms","method":"DELETE","requestID":"e88a2b5014959762f8ba753110075e54","responseTime":180,"status":204,"url":"/experiments/dca7b23a-794e-4f21-add3-b401e65f275a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"a8d382db4db52169ee429c169955e312","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"a8d382db4db52169ee429c169955e312"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"e4492e09696e817cb5b5da8aea9ace75","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4492e09696e817cb5b5da8aea9ace75"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d382d9f40795af72807444d80fb8548","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +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.775","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"49e3b1a2faeca64c81fd155c6c5bf4ba"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/473a7bc6-eea7-450c-bcb7-e6ab9205fa51' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.470814,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"8d382d9f40795af72807444d80fb8548"},"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/2a42ad13-bc01-4fc4-b666-b256a2d3a5e2' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e2185fd7-b51e-4b7f-99fa-3e1d72c18ac1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9372056} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d382d9f40795af72807444d80fb8548"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddfe2976-1e06-41ef-a040-9e4e20853d2d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9422364} 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":"8d382d9f40795af72807444d80fb8548"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"f752215c-bf3f-4390-b6a6-d90bbaf49ecd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9519367} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88064f94-892f-4e32-bcaf-8dfc603d45fb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9520507} 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":"8d382d9f40795af72807444d80fb8548"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"0e581071-f98d-4fef-8526-399d71d1cbc6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9569602} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d382d9f40795af72807444d80fb8548"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"8d382d9f40795af72807444d80fb8548","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:33 +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":"8d382d9f40795af72807444d80fb8548"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d25a3b85889ec58f747c55127a5a488","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.76941,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132933,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzM30.c_7bxVMjvaBxs-Tk9MNxtTQ8PlxttNCPiMRqlyYfzGg"} 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":"7d25a3b85889ec58f747c55127a5a488"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"faf0d835-ea28-4dd7-9ad8-5d618613ac9b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.98111} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d25a3b85889ec58f747c55127a5a488"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87840fc1-31a3-4af1-9e07-01bbc262db87","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9862645} 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":"7d25a3b85889ec58f747c55127a5a488"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"716d979a-114e-4205-a03c-cfead5edb2b2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9962704} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"214c8f22-cc4b-444e-b363-9b5cfd692260","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132933.9963398} 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":"7d25a3b85889ec58f747c55127a5a488"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.996251017Z"}]},"request_id":"0c8e753f-ba0d-485a-bf01-2af60aec2b61","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132934.001395} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d25a3b85889ec58f747c55127a5a488"},"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 38ms","method":"POST","requestID":"7d25a3b85889ec58f747c55127a5a488","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d25a3b85889ec58f747c55127a5a488"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNH0.j1OX30nkr3nevC3HSEvuu6x21aef8owV-u300TmhVSY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c62e7c18eb8655806bbbde05675c625b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339212,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132934,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNH0.j1OX30nkr3nevC3HSEvuu6x21aef8owV-u300TmhVSY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c62e7c18eb8655806bbbde05675c625b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"26cfc31d-5e93-4d70-b1ea-9ea4fa304a76","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132934.4943159} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c62e7c18eb8655806bbbde05675c625b"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6998a347-8560-4456-a5b1-7e8cf237f652","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132934.5002403} 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":"c62e7c18eb8655806bbbde05675c625b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"c7b83835-3e69-452e-9555-c9601ddca71f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132934.511528} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c62e7c18eb8655806bbbde05675c625b"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6 200 32ms","method":"PATCH","requestID":"c62e7c18eb8655806bbbde05675c625b","responseTime":32,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"} gateway_1 | {"time_local":"14/Apr/2024:22:15:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"c62e7c18eb8655806bbbde05675c625b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNH0.j1OX30nkr3nevC3HSEvuu6x21aef8owV-u300TmhVSY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"219a28c77557ea85a9f47cf193870497","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:34Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902912,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132934,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNH0.j1OX30nkr3nevC3HSEvuu6x21aef8owV-u300TmhVSY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219a28c77557ea85a9f47cf193870497"},"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":"14/Apr/2024:22:15:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/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.4","requestID":"219a28c77557ea85a9f47cf193870497"} device_1 | {"level":"info","message":"POST /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/websocket 200 21ms","method":"POST","requestID":"219a28c77557ea85a9f47cf193870497","responseTime":21,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"beceffae4ac16bd5ec4c7eb27cdc6352","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a31862af-ca30-43a1-b238-8a616174ee11/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":"beceffae4ac16bd5ec4c7eb27cdc6352"} device_1 | {"level":"info","message":"OPTIONS /devices/a31862af-ca30-43a1-b238-8a616174ee11/websocket 200 1ms","method":"OPTIONS","requestID":"beceffae4ac16bd5ec4c7eb27cdc6352","responseTime":1,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9dc9abc8019a15f73fcd3bfbd4616335","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244265,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"9dc9abc8019a15f73fcd3bfbd4616335"},"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/a31862af-ca30-43a1-b238-8a616174ee11/websocket 200 36ms","method":"POST","requestID":"9dc9abc8019a15f73fcd3bfbd4616335","responseTime":36,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a31862af-ca30-43a1-b238-8a616174ee11/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":"9dc9abc8019a15f73fcd3bfbd4616335"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"90604c9701538e1e44b33be2a301b4e7","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.680234,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"90604c9701538e1e44b33be2a301b4e7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"e37b2a0b-8fa9-4cbe-99d7-a9d9100a804f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.1151862} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90604c9701538e1e44b33be2a301b4e7"},"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":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 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":"90604c9701538e1e44b33be2a301b4e7"} device_1 | {"level":"info","message":"GET /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 200 21ms","method":"GET","requestID":"90604c9701538e1e44b33be2a301b4e7","responseTime":21,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6c2e0bd8663e854effba98f9a2f37fc0","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.365862,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"6c2e0bd8663e854effba98f9a2f37fc0"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.996251017Z"}]},"request_id":"79c33c01-5b22-4657-9a3e-93771f0014b4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.1465168} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c2e0bd8663e854effba98f9a2f37fc0"},"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/a31862af-ca30-43a1-b238-8a616174ee11? 200 21ms","method":"GET","requestID":"6c2e0bd8663e854effba98f9a2f37fc0","responseTime":21,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a31862af-ca30-43a1-b238-8a616174ee11? 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":"6c2e0bd8663e854effba98f9a2f37fc0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05cbf90c072b73ec091cdbd8423373f5","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:35260","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.09692,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"05cbf90c072b73ec091cdbd8423373f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"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:35260","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.101629,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84aa0d40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083387,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84aa5b60-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"488a3eac-4df5-4143-ba17-32c50a5e2e97","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.2233706} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84aa0d40-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.996251017Z"}]},"request_id":"2aefb983-a3f8-436b-8836-4b2decb513da","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.2242854} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84aa5b60-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 200 19ms","method":"GET","requestID":"84aa0d40-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a31862af-ca30-43a1-b238-8a616174ee11? 200 18ms","method":"GET","requestID":"84aa5b60-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"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:35260","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.450011,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b6de80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673431,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"84b72ca0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.51633,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b102a1e-54ed-4c8f-96e6-ea1a1ad31c30","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3102078} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","rebac_allow":false,"scope_allow":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":"84b77ac0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"6f636f90-96a1-4938-a621-e6ae6288d1dc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3150501} 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":"84b6de80-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.996251017Z"}]},"request_id":"2b9a413c-d952-45d4-a750-18c16faf6d28","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.319859} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b72ca0-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling 200 23ms","method":"POST","requestID":"84b77ac0-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804fed2f-5be0-4707-b853-3e3aece82bf5#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804fed2f-5be0-4707-b853-3e3aece82bf5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"d56a4a32-b4f3-45d8-842e-c10753f1915d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3246918} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af3b6f99-2208-4603-b50b-834efa3a8483","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3250237} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05cbf90c072b73ec091cdbd8423373f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 200 34ms","method":"GET","requestID":"84b6de80-faac-11ee-adee-eb1d2c4f6619","responseTime":34,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a31862af-ca30-43a1-b238-8a616174ee11? 200 34ms","method":"GET","requestID":"84b72ca0-faac-11ee-adee-eb1d2c4f6619","responseTime":34,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8403f252-afa6-4462-8318-42e9ef335ddf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3328116} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.964824,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","rebac_allow":false,"scope_allow":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":"84bb9970-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 175ms","method":"POST","requestID":"05cbf90c072b73ec091cdbd8423373f5","responseTime":175,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} device_1 | {"level":"info","message":"POST /devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling 200 13ms","method":"POST","requestID":"84bb9970-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +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":"05cbf90c072b73ec091cdbd8423373f5"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b98a0a9e-2ad4-47e7-8aff-36ea8618d5aa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3419502} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.724589,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc08ebb31477aed7ae47baf50c7294b2","responseTime":3,"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":"84bd2010-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling 200 10ms","method":"POST","requestID":"84bd2010-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.412934,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc08ebb31477aed7ae47baf50c7294b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23397979-7ce3-4b8f-be31-8796ae854161","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3530946} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.534665,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","rebac_allow":false,"scope_allow":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":"84becdc0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.951913048Z"}]},"request_id":"9edccf75-8c47-496b-a6eb-9f875a57bc3b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.356847} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling 200 9ms","method":"POST","requestID":"84becdc0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/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":"fc08ebb31477aed7ae47baf50c7294b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"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":"29ff6e30-6050-4b05-9cef-1d5745c95283"},{"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":"762931a7-265e-46a2-ab12-ff9467e299eb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"69a0fe12-bbf9-416c-898a-f0e54a9302cc"}]},"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/a31862af-ca30-43a1-b238-8a616174ee11"},{"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"}],"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 200 15ms","method":"GET","requestID":"fc08ebb31477aed7ae47baf50c7294b2","responseTime":15,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6? 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":"fc08ebb31477aed7ae47baf50c7294b2"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.628967,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"84c0a280-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"65c5c0398b2bc0716293838bd520c719","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912114,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"65c5c0398b2bc0716293838bd520c719"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"94b0fdee-4b63-40ed-8849-f0e83709fb6d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3743834} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6de0e9f0-e8fc-4255-9140-5798f887f080","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.3745203} 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":"84c0a280-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:33.996251017Z"}]},"request_id":"a39c016a-8ace-4a2a-a5c4-1520828daf98","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.375296} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65c5c0398b2bc0716293838bd520c719"},"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/a31862af-ca30-43a1-b238-8a616174ee11? 200 12ms","method":"GET","requestID":"65c5c0398b2bc0716293838bd520c719","responseTime":12,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a31862af-ca30-43a1-b238-8a616174ee11? 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":"65c5c0398b2bc0716293838bd520c719"} 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/b465fe00-188f-4ca0-91ad-2ab548450a65'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65'"} 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 37ms","method":"POST","requestID":"84c0a280-faac-11ee-adee-eb1d2c4f6619","responseTime":37,"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":"b465fe00-188f-4ca0-91ad-2ab548450a65","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"019cae82-d637-49e4-bcaf-5995b5e53c7c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.431392} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.495154,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","rebac_allow":false,"scope_allow":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":"84cadbb0-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling 200 9ms","method":"POST","requestID":"84cadbb0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a447556-7965-4c07-84b1-4cd9edf778d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.441772} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.116951,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","rebac_allow":false,"scope_allow":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":"84cc8960-faac-11ee-adee-eb1d2c4f6619"},"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/a31862af-ca30-43a1-b238-8a616174ee11/signaling 200 8ms","method":"POST","requestID":"84cc8960-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2fa5e6829d2a540d3a24cbb0f866ab1","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11"},{"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"}}},"level":"info","message":"received a callback"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2fa5e6829d2a540d3a24cbb0f866ab1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c2fa5e6829d2a540d3a24cbb0f866ab1","responseTime":7,"status":200,"url":"/callbacks/experiment"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","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/b465fe00-188f-4ca0-91ad-2ab548450a65' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2bff73637ca090c26e10cf7eead24c90","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/a31862af-ca30-43a1-b238-8a616174ee11"},{"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb465fe00-188f-4ca0-91ad-2ab548450a65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6c81f13-7fbd-4e46-ad42-397cc28b3ded","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.5180373} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.724266,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65","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":"84d7fb10-faac-11ee-adee-eb1d2c4f6619"},"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/b465fe00-188f-4ca0-91ad-2ab548450a65 200 9ms","method":"GET","requestID":"84d7fb10-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"2bff73637ca090c26e10cf7eead24c90","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"2bff73637ca090c26e10cf7eead24c90"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3531d9d8-9a77-4153-87d3-386a5cc5a830","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.5505514} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.69903,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","rebac_allow":false,"scope_allow":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":"84dcb600-faac-11ee-adee-eb1d2c4f6619"},"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/a31862af-ca30-43a1-b238-8a616174ee11/signaling 200 13ms","method":"POST","requestID":"84dcb600-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf3a5402-94a2-4b42-8c27-8829fd964a8f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.5635371} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469545,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","rebac_allow":false,"scope_allow":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":"84defff0-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling 200 9ms","method":"POST","requestID":"84defff0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcb7ae09c1e92e440cf159e9fe874d91","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.345155,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"fcb7ae09c1e92e440cf159e9fe874d91"},"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/804fed2f-5be0-4707-b853-3e3aece82bf5"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5 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":"fcb7ae09c1e92e440cf159e9fe874d91"} experiment_1 | {"level":"info","message":"GET /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5 200 20ms","method":"GET","requestID":"fcb7ae09c1e92e440cf159e9fe874d91","responseTime":20,"status":200,"url":"/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9861be9e54140bcf8c6b9596d091542","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.190134,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"e9861be9e54140bcf8c6b9596d091542"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.442151,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","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":"84ed30c0-faac-11ee-adee-eb1d2c4f6619"},"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/b465fe00-188f-4ca0-91ad-2ab548450a65' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8f772f47077576b9514ae1ceb0cb9512","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb465fe00-188f-4ca0-91ad-2ab548450a65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb465fe00-188f-4ca0-91ad-2ab548450a65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"44dc5769-1625-42a7-9728-999199586a27","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.6833763} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7e68446-cea8-456b-affb-488aeb86e08b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.6839051} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"33867c33e55dfcbb02f93028c4fc73a4","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/a31862af-ca30-43a1-b238-8a616174ee11"},{"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"}}},"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":"84ed30c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11"},{"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"b465fe00-188f-4ca0-91ad-2ab548450a65","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/b465fe00-188f-4ca0-91ad-2ab548450a65 204 73ms","method":"DELETE","requestID":"84ed30c0-faac-11ee-adee-eb1d2c4f6619","responseTime":73,"status":204,"url":"/peerconnections/b465fe00-188f-4ca0-91ad-2ab548450a65"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa31862af-ca30-43a1-b238-8a616174ee11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea0feb69-9ce9-4b9f-91c4-f8d416c4ddf2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.7599702} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.232131,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11","object_type":"device","rebac_allow":false,"scope_allow":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":"84fc7300-faac-11ee-adee-eb1d2c4f6619"},"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/a31862af-ca30-43a1-b238-8a616174ee11/signaling 200 16ms","method":"POST","requestID":"84fc7300-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/a31862af-ca30-43a1-b238-8a616174ee11/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804fed2f-5be0-4707-b853-3e3aece82bf5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804fed2f-5be0-4707-b853-3e3aece82bf5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"d4dfe462-a7d8-49f6-99e6-67d81e815e82","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.7722218} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14f8ec78-ff59-42ba-bf9d-882ed0f8301d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.7727997} 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":"e9861be9e54140bcf8c6b9596d091542"},"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:35260","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b84dfb1-a5c8-48f3-8307-18b60795a9a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40e0e548-b234-4c2a-a121-f9d2215c91cc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.7810516} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.359361,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6","object_type":"device","rebac_allow":false,"scope_allow":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":"84ff8040-faac-11ee-adee-eb1d2c4f6619"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling 200 21ms","method":"POST","requestID":"84ff8040-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/2b84dfb1-a5c8-48f3-8307-18b60795a9a6/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5 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":"e9861be9e54140bcf8c6b9596d091542"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2118","request_time":"2.292","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"6cdeb4b867b88da6b11462576bf65fd0"} experiment_1 | {"level":"info","message":"DELETE /experiments/804fed2f-5be0-4707-b853-3e3aece82bf5 204 202ms","method":"DELETE","requestID":"e9861be9e54140bcf8c6b9596d091542","responseTime":202,"status":204,"url":"/experiments/804fed2f-5be0-4707-b853-3e3aece82bf5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"8f772f47077576b9514ae1ceb0cb9512","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f772f47077576b9514ae1ceb0cb9512"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"33867c33e55dfcbb02f93028c4fc73a4","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"33867c33e55dfcbb02f93028c4fc73a4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"14/Apr/2024:22:15:36 +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.769","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"30823ed3e140367b23cf6fa246302161"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4a096e6297c8b55d3118d7dcf3f0fa58","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87418,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"4a096e6297c8b55d3118d7dcf3f0fa58"},"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/2b84dfb1-a5c8-48f3-8307-18b60795a9a6' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a31862af-ca30-43a1-b238-8a616174ee11' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77e00b77-9a1f-4c81-b23d-5fbbf9dee43b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.8771307} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a096e6297c8b55d3118d7dcf3f0fa58"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3ccaa4b-5957-46ca-b8c7-9e84b43f82c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.882841} 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":"4a096e6297c8b55d3118d7dcf3f0fa58"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"a3298c34-e77e-4508-906b-ea5c50a81cdc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.894306} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b0319e2-6878-4509-822b-3055834301c9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.8944075} 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":"4a096e6297c8b55d3118d7dcf3f0fa58"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"707e3a49-4d1a-4db9-a701-f75dc545e511","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.899314} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a096e6297c8b55d3118d7dcf3f0fa58"},"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":"4a096e6297c8b55d3118d7dcf3f0fa58","responseTime":53,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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":"4a096e6297c8b55d3118d7dcf3f0fa58"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3124ddbc5498b3cf838a0ed98fb0deca","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680777,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132936,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzNn0._sPFQoI0-w5Dy5HbHsLEWlqq1DF4FA_0u3lBtV8wHYs"} 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":"3124ddbc5498b3cf838a0ed98fb0deca"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67857632-70aa-4b71-b07c-ad012759f264","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.9230328} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3124ddbc5498b3cf838a0ed98fb0deca"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61cf5e3a-1dd0-458b-a1b0-6180df5c24ba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.9280932} 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":"3124ddbc5498b3cf838a0ed98fb0deca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"2ed38e47-e6b4-4caf-a6ff-7b2e8ba8ddec","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.9380288} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c860512-160f-4686-8c02-0c927a8e31c0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.9381096} 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":"3124ddbc5498b3cf838a0ed98fb0deca"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.938009743Z"}]},"request_id":"6c8e0d29-c99e-46ca-9857-3fb6afbfbefe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132936.9420698} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3124ddbc5498b3cf838a0ed98fb0deca"},"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 39ms","method":"POST","requestID":"3124ddbc5498b3cf838a0ed98fb0deca","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3124ddbc5498b3cf838a0ed98fb0deca"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzN30.gXRZlc3DVv4sTcNzCpIR1wFc81DwpQpYUZrPLGu9Jdg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7cc29050b13b593713eb7d25057f7b60","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349359,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132937,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzN30.gXRZlc3DVv4sTcNzCpIR1wFc81DwpQpYUZrPLGu9Jdg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cc29050b13b593713eb7d25057f7b60"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"6d1be3ed-4913-4ceb-89b0-b1a9b03fcd56","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132937.4252996} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cc29050b13b593713eb7d25057f7b60"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"470d0beb-8a1a-4002-9fc6-005d0319835b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132937.4324052} 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":"7cc29050b13b593713eb7d25057f7b60"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"dd60d4c8-a35b-4f2e-b1f8-bfebd4290bff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132937.4645696} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cc29050b13b593713eb7d25057f7b60"},"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/cecc8fe3-3012-4944-98f5-fb715279e935 200 58ms","method":"PATCH","requestID":"7cc29050b13b593713eb7d25057f7b60","responseTime":58,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935"} gateway_1 | {"time_local":"14/Apr/2024:22:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cecc8fe3-3012-4944-98f5-fb715279e935 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.065","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"7cc29050b13b593713eb7d25057f7b60"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzN30.gXRZlc3DVv4sTcNzCpIR1wFc81DwpQpYUZrPLGu9Jdg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"432923b1d4cbfdfca7d7028220954441","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:37Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036512,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132937,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzN30.gXRZlc3DVv4sTcNzCpIR1wFc81DwpQpYUZrPLGu9Jdg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432923b1d4cbfdfca7d7028220954441"},"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":"14/Apr/2024:22:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cecc8fe3-3012-4944-98f5-fb715279e935/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.4","requestID":"432923b1d4cbfdfca7d7028220954441"} device_1 | {"level":"info","message":"POST /devices/cecc8fe3-3012-4944-98f5-fb715279e935/websocket 200 25ms","method":"POST","requestID":"432923b1d4cbfdfca7d7028220954441","responseTime":25,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"35cc17fa6d49e6f3e21f3fabd1ebe0d1","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dd204234-c431-48de-92c3-d9cb050bca6c/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":"35cc17fa6d49e6f3e21f3fabd1ebe0d1"} device_1 | {"level":"info","message":"OPTIONS /devices/dd204234-c431-48de-92c3-d9cb050bca6c/websocket 200 1ms","method":"OPTIONS","requestID":"35cc17fa6d49e6f3e21f3fabd1ebe0d1","responseTime":1,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOH0.IcejEzcamhQTbX_KgH6qytmslEIG9f4QPNdUAws71eY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"533d6c72c7c5acdb1f8b03b7457f2674","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.295559,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132938,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOH0.IcejEzcamhQTbX_KgH6qytmslEIG9f4QPNdUAws71eY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"533d6c72c7c5acdb1f8b03b7457f2674"},"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":"14/Apr/2024:22:15:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd204234-c431-48de-92c3-d9cb050bca6c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"533d6c72c7c5acdb1f8b03b7457f2674"} device_1 | {"level":"info","message":"POST /devices/dd204234-c431-48de-92c3-d9cb050bca6c/websocket 200 28ms","method":"POST","requestID":"533d6c72c7c5acdb1f8b03b7457f2674","responseTime":28,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9c9b247cc1cdfebf7d4d8f350441a1c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195137,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9c9b247cc1cdfebf7d4d8f350441a1c"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"0737eede-363b-47ab-af02-72700205bf0d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.0208206} 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":"d9c9b247cc1cdfebf7d4d8f350441a1c"},"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/cecc8fe3-3012-4944-98f5-fb715279e935? 200 21ms","method":"GET","requestID":"d9c9b247cc1cdfebf7d4d8f350441a1c","responseTime":21,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cecc8fe3-3012-4944-98f5-fb715279e935? 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":"d9c9b247cc1cdfebf7d4d8f350441a1c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e71ce4e1bcce046182c9d116707a1ec8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30446,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"e71ce4e1bcce046182c9d116707a1ec8"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.938009743Z"}]},"request_id":"5e442046-96c1-4491-bad9-1d5777cff17d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.0497143} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e71ce4e1bcce046182c9d116707a1ec8"},"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":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd204234-c431-48de-92c3-d9cb050bca6c? 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":"e71ce4e1bcce046182c9d116707a1ec8"} device_1 | {"level":"info","message":"GET /devices/dd204234-c431-48de-92c3-d9cb050bca6c? 200 21ms","method":"GET","requestID":"e71ce4e1bcce046182c9d116707a1ec8","responseTime":21,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a625650cc1fc977abbc1435676316279","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:35260","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.175194,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"a625650cc1fc977abbc1435676316279"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"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:35260","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926465,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8666d870-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.419939,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8666ff80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"88cbc9e6-58a2-42d7-91a2-8aa6b3240e57","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.136846} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8666d870-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.938009743Z"}]},"request_id":"a23ab563-650e-4a5b-853b-012d823e50f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.1381288} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8666ff80-faac-11ee-adee-eb1d2c4f6619"},"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/cecc8fe3-3012-4944-98f5-fb715279e935? 200 17ms","method":"GET","requestID":"8666d870-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dd204234-c431-48de-92c3-d9cb050bca6c? 200 17ms","method":"GET","requestID":"8666ff80-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"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:35260","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.622004,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.932859,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"8672bf50-faac-11ee-adee-eb1d2c4f6619"},"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/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"86730d70-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53612","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"d54b077e-1280-4c52-b313-2d8027b673fa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2227144} 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":"8672bf50-faac-11ee-adee-eb1d2c4f6619"},"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:53612","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.343384,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.938009743Z"}]},"request_id":"4a67b4c8-a3d1-439c-823d-cf581eebc1b2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2246537} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03fee56e-f2e4-4254-a271-d541d898a554","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2251437} 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":"86730d70-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86735b90-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F53224afe-74a7-4a03-8305-2ee09512943d#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F53224afe-74a7-4a03-8305-2ee09512943d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"fc9aec8c-9357-449f-a51c-6138c3f56364","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2300181} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f2e0ee3-cf0c-4cb2-b88d-0cc8227fda00","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2305074} 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":"a625650cc1fc977abbc1435676316279"},"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/cecc8fe3-3012-4944-98f5-fb715279e935? 200 30ms","method":"GET","requestID":"8672bf50-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dd204234-c431-48de-92c3-d9cb050bca6c? 200 29ms","method":"GET","requestID":"86730d70-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling 200 29ms","method":"POST","requestID":"86735b90-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e786d1a-974d-4af6-88da-14f6c0a63e69","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2494116} experiment_1 | {"data":{"experiment":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.397547,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"a625650cc1fc977abbc1435676316279","responseTime":184,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","rebac_allow":false,"scope_allow":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":"867864a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.45113,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e82d485-7ab9-4904-8e86-9da5ecf1b195","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2507484} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","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":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a625650cc1fc977abbc1435676316279"} 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":"8678b2c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a35d0ca925921ec713c2c23c2cac01b0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"POST /devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling 200 18ms","method":"POST","requestID":"867864a0-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling 200 16ms","method":"POST","requestID":"8678b2c0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592883,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"a35d0ca925921ec713c2c23c2cac01b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"024dfb67-5228-4e2d-8b20-1b66fe138446","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2671928} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279007,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","rebac_allow":false,"scope_allow":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":"867bc000-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.894285949Z"}]},"request_id":"29a63e69-3cd5-4bfa-8af0-6fed48c987dd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2709105} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling 200 7ms","method":"POST","requestID":"867bc000-faac-11ee-adee-eb1d2c4f6619","responseTime":7,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/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":"a35d0ca925921ec713c2c23c2cac01b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"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":"94c209b6-de14-4bc1-a5d3-2514da8c1e46"},{"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":"5943c3d2-94c1-4553-b3ce-d598378fb22e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dcb354a7-3371-4e2d-95b4-3bbcfed2c4a8"}]},"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/dd204234-c431-48de-92c3-d9cb050bca6c"},{"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/cecc8fe3-3012-4944-98f5-fb715279e935"}],"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":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cecc8fe3-3012-4944-98f5-fb715279e935? 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":"a35d0ca925921ec713c2c23c2cac01b0"} device_1 | {"level":"info","message":"GET /devices/cecc8fe3-3012-4944-98f5-fb715279e935? 200 16ms","method":"GET","requestID":"a35d0ca925921ec713c2c23c2cac01b0","responseTime":16,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.814534,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"867d6db0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32e54bdcbff0412c4ca4b43f7b0020e6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148376,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32e54bdcbff0412c4ca4b43f7b0020e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"f2ddffca-89c7-4a92-88e0-2091ad560b01","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2908444} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56d717b9-e648-43d0-b55f-90e831ac6fd7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.2911654} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:36.938009743Z"}]},"request_id":"467dc792-dd12-45fd-a02f-f78033612236","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.292495} 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":"867d6db0-faac-11ee-adee-eb1d2c4f6619"},"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":"32e54bdcbff0412c4ca4b43f7b0020e6"},"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/dd204234-c431-48de-92c3-d9cb050bca6c? 200 17ms","method":"GET","requestID":"32e54bdcbff0412c4ca4b43f7b0020e6","responseTime":17,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd204234-c431-48de-92c3-d9cb050bca6c? 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":"32e54bdcbff0412c4ca4b43f7b0020e6"} 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/dac1c011-d515-4f3d-b0d2-3917a223b5c6'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6'"} 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":"867d6db0-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0da6a270-1ade-41f0-8390-2d616645f6c3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.3564363} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.330776,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","rebac_allow":false,"scope_allow":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":"86890670-faac-11ee-adee-eb1d2c4f6619"},"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/cecc8fe3-3012-4944-98f5-fb715279e935/signaling 200 10ms","method":"POST","requestID":"86890670-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38a4b64e-901c-49ec-9d90-0762ca21f026","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.3680086} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584923,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","rebac_allow":false,"scope_allow":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":"868adb30-faac-11ee-adee-eb1d2c4f6619"},"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/dac1c011-d515-4f3d-b0d2-3917a223b5c6' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling 200 14ms","method":"POST","requestID":"868adb30-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"96b54fb524cd351fd14ceaa980e1369a","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c"},{"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/cecc8fe3-3012-4944-98f5-fb715279e935"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"96b54fb524cd351fd14ceaa980e1369a","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"96b54fb524cd351fd14ceaa980e1369a"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","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/dac1c011-d515-4f3d-b0d2-3917a223b5c6' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7935d26872276a63c5e9ced650c464c","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/dd204234-c431-48de-92c3-d9cb050bca6c"},{"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/cecc8fe3-3012-4944-98f5-fb715279e935"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdac1c011-d515-4f3d-b0d2-3917a223b5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e9b6c19-b152-4874-94a7-73d293a1259e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.4434664} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.053888,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6","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":"86964ce0-faac-11ee-adee-eb1d2c4f6619"},"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/dac1c011-d515-4f3d-b0d2-3917a223b5c6 200 9ms","method":"GET","requestID":"86964ce0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"d7935d26872276a63c5e9ced650c464c","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7935d26872276a63c5e9ced650c464c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd265d98-7e3e-48ef-a1a1-4536e5162b70","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.471247} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.7263,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","rebac_allow":false,"scope_allow":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":"869a6b90-faac-11ee-adee-eb1d2c4f6619"},"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/dd204234-c431-48de-92c3-d9cb050bca6c/signaling 200 12ms","method":"POST","requestID":"869a6b90-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea7277ef-34f0-44bc-a8b0-9883b189f20d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.484546} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.135505,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","rebac_allow":false,"scope_allow":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":"869c8e70-faac-11ee-adee-eb1d2c4f6619"},"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/cecc8fe3-3012-4944-98f5-fb715279e935/signaling 200 11ms","method":"POST","requestID":"869c8e70-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29af1038572c849c107f9b0c0e23554e","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/53224afe-74a7-4a03-8305-2ee09512943d"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.267319,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"29af1038572c849c107f9b0c0e23554e"},"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/53224afe-74a7-4a03-8305-2ee09512943d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/53224afe-74a7-4a03-8305-2ee09512943d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29af1038572c849c107f9b0c0e23554e"} experiment_1 | {"level":"info","message":"GET /experiments/53224afe-74a7-4a03-8305-2ee09512943d 200 17ms","method":"GET","requestID":"29af1038572c849c107f9b0c0e23554e","responseTime":17,"status":200,"url":"/experiments/53224afe-74a7-4a03-8305-2ee09512943d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5d256a676ab559b73bd6f45200513c6a","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/53224afe-74a7-4a03-8305-2ee09512943d"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.630137,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"5d256a676ab559b73bd6f45200513c6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.183716,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"86aa9830-faac-11ee-adee-eb1d2c4f6619"},"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/dac1c011-d515-4f3d-b0d2-3917a223b5c6' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7b4da325020a0ad2769621b7a4e6f61","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdac1c011-d515-4f3d-b0d2-3917a223b5c6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdac1c011-d515-4f3d-b0d2-3917a223b5c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"bce7978f-5673-4a1a-a9ed-75e4d586d055","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.6003537} 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/dd204234-c431-48de-92c3-d9cb050bca6c"},{"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/cecc8fe3-3012-4944-98f5-fb715279e935"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7454d877-89c6-41d3-8bb4-194aaeda0e7c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.6010458} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6adf2614fde6d36bb4f66a0f3cc0b9f2","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":"86aa9830-faac-11ee-adee-eb1d2c4f6619"},"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":"connected","url":"http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c"},{"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/cecc8fe3-3012-4944-98f5-fb715279e935"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"dac1c011-d515-4f3d-b0d2-3917a223b5c6","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/dac1c011-d515-4f3d-b0d2-3917a223b5c6 204 52ms","method":"DELETE","requestID":"86aa9830-faac-11ee-adee-eb1d2c4f6619","responseTime":52,"status":204,"url":"/peerconnections/dac1c011-d515-4f3d-b0d2-3917a223b5c6"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/53224afe-74a7-4a03-8305-2ee09512943d"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd204234-c431-48de-92c3-d9cb050bca6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bf8db71-f695-4b00-8ac9-046bdfc62eff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.655318} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.989825,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd204234-c431-48de-92c3-d9cb050bca6c","object_type":"device","rebac_allow":false,"scope_allow":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":"86b65800-faac-11ee-adee-eb1d2c4f6619"},"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/dd204234-c431-48de-92c3-d9cb050bca6c/signaling 200 15ms","method":"POST","requestID":"86b65800-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/dd204234-c431-48de-92c3-d9cb050bca6c/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F53224afe-74a7-4a03-8305-2ee09512943d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F53224afe-74a7-4a03-8305-2ee09512943d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"bafbce3d-8173-4a90-bd5b-4184309e6e43","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.665712} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f81c323-8b25-4401-97b2-a6eb5da15855","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.6661756} 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":"5d256a676ab559b73bd6f45200513c6a"},"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:35260","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcecc8fe3-3012-4944-98f5-fb715279e935","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b2cc180-6b3e-4a62-9a69-86bef8cdba4f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.6752696} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.064776,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cecc8fe3-3012-4944-98f5-fb715279e935","object_type":"device","rebac_allow":false,"scope_allow":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":"86b93e30-faac-11ee-adee-eb1d2c4f6619"},"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/cecc8fe3-3012-4944-98f5-fb715279e935/signaling 200 17ms","method":"POST","requestID":"86b93e30-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/cecc8fe3-3012-4944-98f5-fb715279e935/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/53224afe-74a7-4a03-8305-2ee09512943d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/53224afe-74a7-4a03-8305-2ee09512943d 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":"5d256a676ab559b73bd6f45200513c6a"} experiment_1 | {"level":"info","message":"DELETE /experiments/53224afe-74a7-4a03-8305-2ee09512943d 204 184ms","method":"DELETE","requestID":"5d256a676ab559b73bd6f45200513c6a","responseTime":184,"status":204,"url":"/experiments/53224afe-74a7-4a03-8305-2ee09512943d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2119","request_time":"2.234","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"3b64ced06f3b9c096ca583672eb73888"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"b7b4da325020a0ad2769621b7a4e6f61","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7b4da325020a0ad2769621b7a4e6f61"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"6adf2614fde6d36bb4f66a0f3cc0b9f2","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"6adf2614fde6d36bb4f66a0f3cc0b9f2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14ef96cdcf4a7a67e3c1cfb4fe5e719a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +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.765","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7213a1f888cc08e0c674017e1c0404bc"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906042,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"},"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/cecc8fe3-3012-4944-98f5-fb715279e935' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f9c4912-a84f-4acc-a484-1c3bc3497068","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.767315} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"},"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/dd204234-c431-48de-92c3-d9cb050bca6c' 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"493dbe5a-a832-4564-9162-caea1bcff0bc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.7727273} 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":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"7eac69f2-46c0-4fc2-a3f5-479314ba2013","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.7826216} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d7c0b62-79f8-4243-b343-57a54f2e6d1d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.7828069} 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":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"490e6949-9763-43e9-94e2-db95316e2c53","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.7878234} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"},"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":"14ef96cdcf4a7a67e3c1cfb4fe5e719a","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +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":"14ef96cdcf4a7a67e3c1cfb4fe5e719a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"186eb66da06dd89c286b144d77d40742","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.389666,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132939,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjkzOX0.aWNG174lZzNorRS0y82YwpcZYzxCtq01BSaDpOsfRLo"} 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":"186eb66da06dd89c286b144d77d40742"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ea514f1-5a45-46d8-8d91-4cb99051feb3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.8147984} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186eb66da06dd89c286b144d77d40742"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8e55fa8-b56d-48b4-86f1-8b87a606afb4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.8196373} 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":"186eb66da06dd89c286b144d77d40742"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"81da03d2-935a-477a-95d3-bea9a3520eda","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.8312194} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f40f8d5e-701b-44d2-8b3c-36cd2cc76c30","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.8313427} 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":"186eb66da06dd89c286b144d77d40742"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"336e79d0-9b57-4b80-b508-31b1e1a7710e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132939.835776} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186eb66da06dd89c286b144d77d40742"},"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":"186eb66da06dd89c286b144d77d40742","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:39 +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":"186eb66da06dd89c286b144d77d40742"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"20f026e21e65d04d9516be301088e538","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fdeaeef8e433c5403d2bb468c31973e7","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922789,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"20f026e21e65d04d9516be301088e538"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759441,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"fdeaeef8e433c5403d2bb468c31973e7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"8ea03070-dcf5-4cf5-9bfa-787258885945","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.307494} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20f026e21e65d04d9516be301088e538"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ebb1df2-f880-4507-9a10-b6ccc726e14c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.3117526} 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":"20f026e21e65d04d9516be301088e538"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"c4c15434-36df-4a66-941f-686d196a9926","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.31324} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdeaeef8e433c5403d2bb468c31973e7"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba8ee6eb-8372-4e4f-ac29-ac458827f50a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.3194692} 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":"fdeaeef8e433c5403d2bb468c31973e7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"d86115b8-9e4b-40e8-90d3-5d178ed70c53","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.3253582} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20f026e21e65d04d9516be301088e538"},"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":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"20f026e21e65d04d9516be301088e538"} device_1 | {"level":"info","message":"PATCH /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355 200 31ms","method":"PATCH","requestID":"20f026e21e65d04d9516be301088e538","responseTime":31,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b6a5d3186681189490a93bac0364965e","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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"bc88e03f-97c8-41b4-983b-573812c9421b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.3352125} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdeaeef8e433c5403d2bb468c31973e7"},"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:35260","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664619,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6a5d3186681189490a93bac0364965e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"PATCH /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a 200 38ms","method":"PATCH","requestID":"fdeaeef8e433c5403d2bb468c31973e7","responseTime":38,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"fdeaeef8e433c5403d2bb468c31973e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45df6a9683a723c07481d3f1c4a07d36","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848795,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"45df6a9683a723c07481d3f1c4a07d36"},"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":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/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.4","requestID":"b6a5d3186681189490a93bac0364965e"} device_1 | {"level":"info","message":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/websocket 200 23ms","method":"POST","requestID":"b6a5d3186681189490a93bac0364965e","responseTime":23,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/websocket 200 21ms","method":"POST","requestID":"45df6a9683a723c07481d3f1c4a07d36","responseTime":21,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/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.4","requestID":"45df6a9683a723c07481d3f1c4a07d36"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"158ef32391c63cffdf71afa75b2c8861","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941685,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"158ef32391c63cffdf71afa75b2c8861"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"f63ec740-c77b-490e-853b-64e7e6f8f977","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.4004037} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"158ef32391c63cffdf71afa75b2c8861"},"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":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355? 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":"158ef32391c63cffdf71afa75b2c8861"} device_1 | {"level":"info","message":"GET /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355? 200 13ms","method":"GET","requestID":"158ef32391c63cffdf71afa75b2c8861","responseTime":13,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c1a44e0dbded25ed66303e5d0be4b64","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175892,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c1a44e0dbded25ed66303e5d0be4b64"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"fc7c2a82-e8eb-43af-bdd3-2b55fce47dde","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.421989} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c1a44e0dbded25ed66303e5d0be4b64"},"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 200 14ms","method":"GET","requestID":"9c1a44e0dbded25ed66303e5d0be4b64","responseTime":14,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 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":"9c1a44e0dbded25ed66303e5d0be4b64"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15db02efa2aa13d48484e731eb0f2639","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:35260","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703556,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"15db02efa2aa13d48484e731eb0f2639"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"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:35260","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654353,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8737bd00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572078,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"87380b20-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"97999b6b-ee4f-4201-bc67-b1f8c133acc4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.5065286} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8737bd00-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"111d4c3c-2cda-4602-8b1e-56d5a9420da7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.5080783} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87380b20-faac-11ee-adee-eb1d2c4f6619"},"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/4b52a880-86e1-43d3-b0b1-97fa936c3355? 200 21ms","method":"GET","requestID":"8737bd00-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 200 20ms","method":"GET","requestID":"87380b20-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"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:35260","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.784638,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"87446730-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.669132,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"8744b550-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69bef5a7-89f4-4ae5-b15a-cc0c5e5596d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.5946867} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.254238,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","rebac_allow":false,"scope_allow":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":"87450370-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"347cb5e7-f724-4ef8-9559-33c2248d21e4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.5986621} 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":"87446730-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"525e78b0-2245-47bf-a16e-3771fdbce5f9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6036565} 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":"8744b550-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51ea38ab-51d3-4c17-87d7-63b87513d076#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51ea38ab-51d3-4c17-87d7-63b87513d076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8d8039dc-3100-47e6-9587-a0c4da9b2dc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6113875} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eff976ea-fcfb-4cc3-9905-ef7de35527d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6117256} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling 200 30ms","method":"POST","requestID":"87450370-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling"} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15db02efa2aa13d48484e731eb0f2639"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355? 200 39ms","method":"GET","requestID":"87446730-faac-11ee-adee-eb1d2c4f6619","responseTime":39,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 200 41ms","method":"GET","requestID":"8744b550-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f30f1732-f5b2-496d-a0e1-0e85344f15a0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6266537} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.452189,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","rebac_allow":false,"scope_allow":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":"874a81b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 200ms","method":"POST","requestID":"15db02efa2aa13d48484e731eb0f2639","responseTime":200,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52817f30-ad12-4987-a770-9f591c23be1c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.635861} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.591802,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15db02efa2aa13d48484e731eb0f2639"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","rebac_allow":false,"scope_allow":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":"874bba30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a9e4d3eb6cc6e7edc428428bb3024515","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling 200 24ms","method":"POST","requestID":"874a81b0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.991227,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"level":"info","message":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling 200 23ms","method":"POST","requestID":"874bba30-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9e4d3eb6cc6e7edc428428bb3024515"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.782600720Z"}]},"request_id":"f3c21866-b615-4526-a829-b7068f196780","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6553109} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9e4d3eb6cc6e7edc428428bb3024515"},"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:35260","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e067394-9edf-4a8b-93e3-21c3fa4acbe5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6588387} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.289415,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"874fb1d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355? 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":"a9e4d3eb6cc6e7edc428428bb3024515"} device_1 | {"level":"info","message":"GET /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355? 200 19ms","method":"GET","requestID":"a9e4d3eb6cc6e7edc428428bb3024515","responseTime":19,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling 200 14ms","method":"POST","requestID":"874fb1d0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"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":"23e93a91-0acd-4e21-8ed3-652f1df338cf"},{"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":"6f571fba-712a-4d4a-bb78-bec689094c9d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4276697f-e0c0-4a22-9ebc-8221b36102a2"}]},"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/4b52a880-86e1-43d3-b0b1-97fa936c3355"},{"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af902846add9281d4f978cf1f1800379","responseTime":3,"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:35260","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966212,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af902846add9281d4f978cf1f1800379"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.791533,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"87529800-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:39.831184383Z"}]},"request_id":"a5845342-fb20-4a12-a2aa-e8d14878fe59","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6814897} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af902846add9281d4f978cf1f1800379"},"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":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 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":"af902846add9281d4f978cf1f1800379"} device_1 | {"level":"info","message":"GET /devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a? 200 18ms","method":"GET","requestID":"af902846add9281d4f978cf1f1800379","responseTime":18,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c6ad3187-2d9c-46a8-b21f-2b9f1a70337e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.6912937} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2716e100-9b31-4dff-9260-cfefc51040c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.691612} 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":"87529800-faac-11ee-adee-eb1d2c4f6619"},"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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07'"} 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":"87529800-faac-11ee-adee-eb1d2c4f6619","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"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bbf2586-010b-405a-8782-6bb2352d598a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.758331} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.502439,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","rebac_allow":false,"scope_allow":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":"875ecd00-faac-11ee-adee-eb1d2c4f6619"},"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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"817d84fb2e52dd174bbb27bfb6dbfda1","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/4b52a880-86e1-43d3-b0b1-97fa936c3355"},{"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling 200 16ms","method":"POST","requestID":"875ecd00-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"817d84fb2e52dd174bbb27bfb6dbfda1","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"817d84fb2e52dd174bbb27bfb6dbfda1"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc38ea61-eff7-41e5-b862-85aa0be077d6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.7781303} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.548977,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","rebac_allow":false,"scope_allow":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":"8761da40-faac-11ee-adee-eb1d2c4f6619"},"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling 200 15ms","method":"POST","requestID":"8761da40-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e8adec0d269178ed16d179bcb98105a8","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/4b52a880-86e1-43d3-b0b1-97fa936c3355"},{"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23173cb9-8ceb-4349-9dde-b21ddfb61d87","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.8265607} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.089421,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","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":"87695450-faac-11ee-adee-eb1d2c4f6619"},"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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07 200 10ms","method":"GET","requestID":"87695450-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"e8adec0d269178ed16d179bcb98105a8","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8adec0d269178ed16d179bcb98105a8"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a0cb017-3775-4b9e-a643-113a267a5786","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.8628793} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513775,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","rebac_allow":false,"scope_allow":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":"876ed290-faac-11ee-adee-eb1d2c4f6619"},"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/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling 200 13ms","method":"POST","requestID":"876ed290-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc631c22-26d8-4dcc-ac81-5ea00a4f98a8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.8799713} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.599955,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","rebac_allow":false,"scope_allow":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":"87714390-faac-11ee-adee-eb1d2c4f6619"},"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling 200 14ms","method":"POST","requestID":"87714390-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b99d5620c5fea7c2a516442c0d9bbbda","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.268518,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"b99d5620c5fea7c2a516442c0d9bbbda"},"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/51ea38ab-51d3-4c17-87d7-63b87513d076"} gateway_1 | {"time_local":"14/Apr/2024:22:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b99d5620c5fea7c2a516442c0d9bbbda"} experiment_1 | {"level":"info","message":"GET /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076 200 17ms","method":"GET","requestID":"b99d5620c5fea7c2a516442c0d9bbbda","responseTime":17,"status":200,"url":"/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b5fe531b759e682fbe335132fd61fa4d","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.85695,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"b5fe531b759e682fbe335132fd61fa4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.246702,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132940,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MH0.JgCwPW0PSJbiwLzhkolOgGMVnfhywaBgOCC90J0_VkI"} 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":"877d5180-faac-11ee-adee-eb1d2c4f6619"},"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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ee5fd6e-66dc-431a-a01f-6c7e316d2b07': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"16c52e06-fd76-4b6c-b983-ee7fbfac2d60","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.9773004} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd059671-c663-4b63-af3c-2fd4dcbed4e8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132940.9780645} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9d4332390fc25f855ac46ef5b02f7da","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"877d5180-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/4b52a880-86e1-43d3-b0b1-97fa936c3355"},{"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d202ba1445495cebc999de769a44e508","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355"},{"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"6ee5fd6e-66dc-431a-a01f-6c7e316d2b07","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/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07 204 54ms","method":"DELETE","requestID":"877d5180-faac-11ee-adee-eb1d2c4f6619","responseTime":54,"status":204,"url":"/peerconnections/6ee5fd6e-66dc-431a-a01f-6c7e316d2b07"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b52a880-86e1-43d3-b0b1-97fa936c3355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25046889-d12e-4a4a-b400-0c243c2d3e8b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.040012} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.876085,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355","object_type":"device","rebac_allow":false,"scope_allow":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":"87898680-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51ea38ab-51d3-4c17-87d7-63b87513d076': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51ea38ab-51d3-4c17-87d7-63b87513d076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"b43838f7-a1fa-452e-bbf5-0f01dddc9a16","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.0478969} device_1 | {"level":"info","message":"POST /devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/signaling 200 15ms","method":"POST","requestID":"87898680-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355/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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c28e8c75-fabc-495b-b53d-a717be44d426","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.048461} 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":"b5fe531b759e682fbe335132fd61fa4d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4e63df4-593f-4e84-a57a-fd2df6a71b4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"696da235-86aa-46bb-9ae7-2f9696add7df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.057797} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.27631,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a","object_type":"device","rebac_allow":false,"scope_allow":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":"878c93c0-faac-11ee-adee-eb1d2c4f6619"},"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling 200 13ms","method":"POST","requestID":"878c93c0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/d4e63df4-593f-4e84-a57a-fd2df6a71b4a/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076 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":"b5fe531b759e682fbe335132fd61fa4d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +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.759","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"2c9e026eea3b0ce353769b4dbfea3e7b"} experiment_1 | {"level":"info","message":"DELETE /experiments/51ea38ab-51d3-4c17-87d7-63b87513d076 204 182ms","method":"DELETE","requestID":"b5fe531b759e682fbe335132fd61fa4d","responseTime":182,"status":204,"url":"/experiments/51ea38ab-51d3-4c17-87d7-63b87513d076"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +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.749","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"0c71d57b99d4771643a2bff40ded0cb1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"b9d4332390fc25f855ac46ef5b02f7da","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"b9d4332390fc25f855ac46ef5b02f7da"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"d202ba1445495cebc999de769a44e508","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"d202ba1445495cebc999de769a44e508"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eec42e5c40a3f73a23a58c3e4e23d0ed","responseTime":5,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4b52a880-86e1-43d3-b0b1-97fa936c3355' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913633,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"eec42e5c40a3f73a23a58c3e4e23d0ed"},"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/d4e63df4-593f-4e84-a57a-fd2df6a71b4a' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68b64e62-5a36-455a-af7f-61ac3d495b19","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.1499891} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eec42e5c40a3f73a23a58c3e4e23d0ed"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc867099-371f-447c-a648-4e3b30bd30cb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.1571913} 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":"eec42e5c40a3f73a23a58c3e4e23d0ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c731962d-f495-4c5f-9d40-b03c78cb2f4d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.1686404} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cb12ca3-b9b0-4e04-b192-60e88c1014e2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.16889} 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":"eec42e5c40a3f73a23a58c3e4e23d0ed"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"a51e89a5-995d-475c-a184-80a3317fb304","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.1746619} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eec42e5c40a3f73a23a58c3e4e23d0ed"},"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":"eec42e5c40a3f73a23a58c3e4e23d0ed","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eec42e5c40a3f73a23a58c3e4e23d0ed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a21cc328b3cf216872eb85b2e37bfe1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.880866,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"9a21cc328b3cf216872eb85b2e37bfe1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82020bd5-fbbb-49e9-b4f5-a38ac96d2bce","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.2022676} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a21cc328b3cf216872eb85b2e37bfe1"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c295ab6-cd0b-45f4-85f7-72deea7b810c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.2079396} 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":"9a21cc328b3cf216872eb85b2e37bfe1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"4ec03907-4405-4470-8753-986a4bd73a03","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.2179804} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"723b8caa-e72c-47d4-984c-c4da36a8d55a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.2180917} 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":"9a21cc328b3cf216872eb85b2e37bfe1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"711e9c83-9bd4-404d-9af3-1900e033d655","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.2231529} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a21cc328b3cf216872eb85b2e37bfe1"},"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":"9a21cc328b3cf216872eb85b2e37bfe1","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a21cc328b3cf216872eb85b2e37bfe1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f4546aa6ddab53092e836458856f319","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"026dc7da8c20a243a97892650c0fd647","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643584,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"7f4546aa6ddab53092e836458856f319"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789625,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"026dc7da8c20a243a97892650c0fd647"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"5cdd27c3-1b8d-4807-b9fe-3da831ee9511","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.7127802} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4546aa6ddab53092e836458856f319"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"0d929342-2d78-48df-84bf-e6a6dd674fd9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.7135603} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"026dc7da8c20a243a97892650c0fd647"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4b9280f-5705-41c4-a5b3-b066ff178d6f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.7204077} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"941e9af7-4a35-46e3-a149-2a9edf172e0a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.7212846} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4546aa6ddab53092e836458856f319"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"026dc7da8c20a243a97892650c0fd647"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"10d6c164-8a70-47c7-ad39-d024e0606b87","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.7254183} 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":"026dc7da8c20a243a97892650c0fd647"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/0a6185f7-0844-4232-be0f-a863ad49ed17 200 30ms","method":"PATCH","requestID":"026dc7da8c20a243a97892650c0fd647","responseTime":30,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0a6185f7-0844-4232-be0f-a863ad49ed17 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"026dc7da8c20a243a97892650c0fd647"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"34f8e934b9baef04652e4a6f494ea6b1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829269,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34f8e934b9baef04652e4a6f494ea6b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"b47e155c-feaf-4191-826b-f92f7d4c0230","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.747927} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4546aa6ddab53092e836458856f319"},"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":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"7f4546aa6ddab53092e836458856f319"} device_1 | {"level":"info","message":"PATCH /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475 200 54ms","method":"PATCH","requestID":"7f4546aa6ddab53092e836458856f319","responseTime":54,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8d0d23bda6a761c95938783f11e8b824","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0a6185f7-0844-4232-be0f-a863ad49ed17/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.4","requestID":"34f8e934b9baef04652e4a6f494ea6b1"} device_1 | {"level":"info","message":"POST /devices/0a6185f7-0844-4232-be0f-a863ad49ed17/websocket 200 23ms","method":"POST","requestID":"34f8e934b9baef04652e4a6f494ea6b1","responseTime":23,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/websocket"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677537,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d0d23bda6a761c95938783f11e8b824"},"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":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"8d0d23bda6a761c95938783f11e8b824"} device_1 | {"level":"info","message":"POST /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/websocket 200 13ms","method":"POST","requestID":"8d0d23bda6a761c95938783f11e8b824","responseTime":13,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b58f0a606c13c8824be5a5d51a4e1ec6","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138457,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58f0a606c13c8824be5a5d51a4e1ec6"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"0b1e3b10-ec30-4fa3-97b8-244065385105","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.8004775} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58f0a606c13c8824be5a5d51a4e1ec6"},"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":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 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":"b58f0a606c13c8824be5a5d51a4e1ec6"} device_1 | {"level":"info","message":"GET /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 200 16ms","method":"GET","requestID":"b58f0a606c13c8824be5a5d51a4e1ec6","responseTime":16,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d4a7595f9771ab3a7a5fe801660d64d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268031,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d4a7595f9771ab3a7a5fe801660d64d"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"d6531519-0168-4b27-bcc3-ca32a37b3fd1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.8222873} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d4a7595f9771ab3a7a5fe801660d64d"},"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/0a6185f7-0844-4232-be0f-a863ad49ed17? 200 16ms","method":"GET","requestID":"4d4a7595f9771ab3a7a5fe801660d64d","responseTime":16,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a6185f7-0844-4232-be0f-a863ad49ed17? 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":"4d4a7595f9771ab3a7a5fe801660d64d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aedc4dcdd1aff7e5a2075ed09f5a1509","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:35260","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.9418,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"aedc4dcdd1aff7e5a2075ed09f5a1509"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"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:35260","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908596,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"880ce750-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624571,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"880d0e60-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"66415fe2-7e52-4165-8202-6435058f4496","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9016964} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"880ce750-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"b0a87f64-cb02-410d-90b0-3e26fb05ac4d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9024282} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"880d0e60-faac-11ee-adee-eb1d2c4f6619"},"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 200 17ms","method":"GET","requestID":"880ce750-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0a6185f7-0844-4232-be0f-a863ad49ed17? 200 18ms","method":"GET","requestID":"880d0e60-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"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/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976157,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"88185900-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622434,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53612","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"88188010-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53612","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.993,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c13e772-29f9-44f1-b0e7-f159045a1192","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9762757} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","rebac_allow":false,"scope_allow":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":"8818a720-faac-11ee-adee-eb1d2c4f6619"},"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling 200 14ms","method":"POST","requestID":"8818a720-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"b6d696e0-2bdc-41d1-ba97-39c97576b747","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9830732} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88185900-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"9857df81-048c-4707-90d4-98e09106c3bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9844825} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"88188010-faac-11ee-adee-eb1d2c4f6619"},"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:35260","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 200 24ms","method":"GET","requestID":"88185900-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff26aff6-19e5-4dae-acb5-c663b80e4e73#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff26aff6-19e5-4dae-acb5-c663b80e4e73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"474b65ed-4c13-44f9-ad6e-207f099d1806","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9917483} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc0f5b25-af19-44bf-bcf3-3c41e99609a7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.9919975} device_1 | {"level":"info","message":"GET /devices/0a6185f7-0844-4232-be0f-a863ad49ed17? 200 24ms","method":"GET","requestID":"88188010-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe812064-cfc0-4099-99d1-5f5d0d0d8494","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132941.992122} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109938,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:41Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"881b3f30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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":"aedc4dcdd1aff7e5a2075ed09f5a1509"},"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:35260","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:41Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling 200 14ms","method":"POST","requestID":"881b3f30-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd2d2947-d14c-49d2-a727-0a45b08a3425","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.000927} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.996182,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","rebac_allow":false,"scope_allow":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":"881c77b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"aedc4dcdd1aff7e5a2075ed09f5a1509","responseTime":171,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling 200 12ms","method":"POST","requestID":"881c77b0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aedc4dcdd1aff7e5a2075ed09f5a1509"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b362ab4522a46381dfd59ad8eaaf72d8","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2809518-44a5-470c-9418-a8590d8950d6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0133746} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704214,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} 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":"b362ab4522a46381dfd59ad8eaaf72d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.744057,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","rebac_allow":false,"scope_allow":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":"881e9a90-faac-11ee-adee-eb1d2c4f6619"},"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/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling 200 10ms","method":"POST","requestID":"881e9a90-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.168608348Z"}]},"request_id":"9a0aa2f7-ce9b-4a2d-b349-697b6942de28","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0193994} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b362ab4522a46381dfd59ad8eaaf72d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"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":"cfb3e89d-2f68-47c1-b116-0689eac8ace9"},{"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":"9b2723b0-a00b-4b25-a4a0-212f035417c1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"22c8e109-7b2e-4f6c-8616-953488bf5773"}]},"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/0a6185f7-0844-4232-be0f-a863ad49ed17"},{"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"}],"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":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 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":"b362ab4522a46381dfd59ad8eaaf72d8"} device_1 | {"level":"info","message":"GET /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475? 200 13ms","method":"GET","requestID":"b362ab4522a46381dfd59ad8eaaf72d8","responseTime":13,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.872785,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132941,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0MX0.riHqSjbcjVRGoQeZb7IvgxAkiT-HsbDdOcCZgl2y9N4"} 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":"88209660-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6f0195a8ab4afa3aa59eacaec5f03e5","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639069,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6f0195a8ab4afa3aa59eacaec5f03e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"ea819a53-8f80-42eb-81b6-0abf3842d11d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0379899} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d0934f6-c42c-4464-a66c-7caaf20e8498","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0383236} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:41.217955874Z"}]},"request_id":"35ca3133-e47b-467b-bf4f-3c828282aba3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0389628} 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":"88209660-faac-11ee-adee-eb1d2c4f6619"},"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":"f6f0195a8ab4afa3aa59eacaec5f03e5"},"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":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a6185f7-0844-4232-be0f-a863ad49ed17? 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":"f6f0195a8ab4afa3aa59eacaec5f03e5"} device_1 | {"level":"info","message":"GET /devices/0a6185f7-0844-4232-be0f-a863ad49ed17? 200 15ms","method":"GET","requestID":"f6f0195a8ab4afa3aa59eacaec5f03e5","responseTime":15,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17?"} 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/af937838-2bce-4ce0-b6b9-f5c960880c16'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16'"} 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":"88209660-faac-11ee-adee-eb1d2c4f6619","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/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","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:35260","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d7f8751-4e95-43aa-8615-e9cd2c62e5f5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.0950165} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.606861,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","rebac_allow":false,"scope_allow":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":"882af6a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling 200 11ms","method":"POST","requestID":"882af6a0-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"30bb5bec40e365c87fba34e567d210d3","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17"},{"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"876767c9-6338-4d17-ad8c-48b0fb4534c4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.1101074} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.720625,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","rebac_allow":false,"scope_allow":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":"882d4090-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"30bb5bec40e365c87fba34e567d210d3","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"30bb5bec40e365c87fba34e567d210d3"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","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/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling 200 13ms","method":"POST","requestID":"882d4090-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","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/af937838-2bce-4ce0-b6b9-f5c960880c16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3397b91b0b9cd0d706dd9ecc9f2ff1b4","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/0a6185f7-0844-4232-be0f-a863ad49ed17"},{"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf937838-2bce-4ce0-b6b9-f5c960880c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84eeb4b5-2aa1-474e-a728-acbc0a5a46d3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.1623964} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.877603,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16","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":"88352fd0-faac-11ee-adee-eb1d2c4f6619"},"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/af937838-2bce-4ce0-b6b9-f5c960880c16 200 14ms","method":"GET","requestID":"88352fd0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"3397b91b0b9cd0d706dd9ecc9f2ff1b4","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"3397b91b0b9cd0d706dd9ecc9f2ff1b4"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a3741e5-c82a-4cc4-aaef-8ca2c3572d54","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.1906888} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.26089,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","rebac_allow":false,"scope_allow":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":"88399ca0-faac-11ee-adee-eb1d2c4f6619"},"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/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling 200 9ms","method":"POST","requestID":"88399ca0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0912480c-5b4c-4a54-baf0-6496573b5967","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.2025728} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25434,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","rebac_allow":false,"scope_allow":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":"883b4a50-faac-11ee-adee-eb1d2c4f6619"},"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling 200 11ms","method":"POST","requestID":"883b4a50-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ffa32053a785ff77f4a9c34998b9aba","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.773593,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} 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":"1ffa32053a785ff77f4a9c34998b9aba"},"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/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ffa32053a785ff77f4a9c34998b9aba"} experiment_1 | {"level":"info","message":"GET /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73 200 12ms","method":"GET","requestID":"1ffa32053a785ff77f4a9c34998b9aba","responseTime":12,"status":200,"url":"/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6361dd50d220568304913e4e5897b4e6","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.754378,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6361dd50d220568304913e4e5897b4e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.72663,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} 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":"88466de0-faac-11ee-adee-eb1d2c4f6619"},"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/af937838-2bce-4ce0-b6b9-f5c960880c16' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"352bae21d1083222f504c080f891a308","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17"},{"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2a94081f717c344b7185306570f18a9f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17"},{"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf937838-2bce-4ce0-b6b9-f5c960880c16': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf937838-2bce-4ce0-b6b9-f5c960880c16","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"2062a324-02d4-43f6-a0b8-6c99d6277050","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.2892573} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39233131-7ce5-4ad7-848f-0a61a743b30a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.289582} 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":"88466de0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"peerconnection":"af937838-2bce-4ce0-b6b9-f5c960880c16","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/af937838-2bce-4ce0-b6b9-f5c960880c16 204 45ms","method":"DELETE","requestID":"88466de0-faac-11ee-adee-eb1d2c4f6619","responseTime":45,"status":204,"url":"/peerconnections/af937838-2bce-4ce0-b6b9-f5c960880c16"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a6185f7-0844-4232-be0f-a863ad49ed17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"539f325d-38d2-4165-9ec3-2983fe94b513","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.3547626} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.428152,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17","object_type":"device","rebac_allow":false,"scope_allow":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":"885206a0-faac-11ee-adee-eb1d2c4f6619"},"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/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling 200 17ms","method":"POST","requestID":"885206a0-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/0a6185f7-0844-4232-be0f-a863ad49ed17/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff26aff6-19e5-4dae-acb5-c663b80e4e73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff26aff6-19e5-4dae-acb5-c663b80e4e73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"d9cd4bc0-13d6-4077-af4b-cb2d27c52385","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.3656282} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8451d12-a2ea-48bd-88d9-de25aede7e17","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.365824} 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":"6361dd50d220568304913e4e5897b4e6"},"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:35260","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14c2e0cd-d0f2-433a-bc25-f3fb7e948475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72148864-f33e-442b-b0f6-212e8eb36f88","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.3744187} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.317359,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475","object_type":"device","rebac_allow":false,"scope_allow":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":"885513e0-faac-11ee-adee-eb1d2c4f6619"},"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/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling 200 13ms","method":"POST","requestID":"885513e0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6361dd50d220568304913e4e5897b4e6"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +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.650","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"8551359f5a5ec07d53518f07a0992882"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +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.660","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"306e5fac1748d6d600720ad6eaa00437"} experiment_1 | {"level":"info","message":"DELETE /experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73 204 161ms","method":"DELETE","requestID":"6361dd50d220568304913e4e5897b4e6","responseTime":161,"status":204,"url":"/experiments/ff26aff6-19e5-4dae-acb5-c663b80e4e73"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"352bae21d1083222f504c080f891a308","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"352bae21d1083222f504c080f891a308"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"2a94081f717c344b7185306570f18a9f","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a94081f717c344b7185306570f18a9f"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0a6185f7-0844-4232-be0f-a863ad49ed17' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3b9b48936f5e7a91d3e3d65fdba332ed","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/14c2e0cd-d0f2-433a-bc25-f3fb7e948475' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98356,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} 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":"3b9b48936f5e7a91d3e3d65fdba332ed"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"14f01b39-32e1-4df8-836d-d51415f8d515","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.4516356} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b9b48936f5e7a91d3e3d65fdba332ed"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8789c267-ada3-41d8-ae35-56393f6aeef7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.458547} 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":"3b9b48936f5e7a91d3e3d65fdba332ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8674d2f3-7080-4bce-9dc6-2892719e96bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.4699745} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"597e9d19-8a15-4ab4-bbd1-c7967b904081","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.4703171} 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":"3b9b48936f5e7a91d3e3d65fdba332ed"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.469948293Z"}]},"request_id":"fca93ae2-ad3e-4fbd-801e-20edffb81a39","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.4772} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b9b48936f5e7a91d3e3d65fdba332ed"},"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":"3b9b48936f5e7a91d3e3d65fdba332ed","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b9b48936f5e7a91d3e3d65fdba332ed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69b05e85189e9da49ae24d2bc3b9d6c0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87699,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132942,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0Mn0.cIspyCMXS-OU0jKK_mB10MgEPiHW5fYPgZmVItODZrQ"} 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":"69b05e85189e9da49ae24d2bc3b9d6c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"249c9f80-4259-4331-b8ab-c4837143440b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.5082128} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69b05e85189e9da49ae24d2bc3b9d6c0"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80646086-ae6c-4728-8ba1-08a247984322","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.51421} 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":"69b05e85189e9da49ae24d2bc3b9d6c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8c6302a9-7edb-4753-87de-080d03170c2a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.524442} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5409b61c-379d-4841-9445-bffe4e0230fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.5245104} 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":"69b05e85189e9da49ae24d2bc3b9d6c0"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.524413629Z"}]},"request_id":"3364a49e-6bc9-4fe3-b964-d75b0b03c4ee","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132942.5302439} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69b05e85189e9da49ae24d2bc3b9d6c0"},"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":"69b05e85189e9da49ae24d2bc3b9d6c0","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69b05e85189e9da49ae24d2bc3b9d6c0"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5c5f9441646d7dc6f91836352e679e32","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device_1 | {"level":"info","message":"OPTIONS /devices/4ddd9f67-161b-47de-8a06-436f688dd355/websocket 200 1ms","method":"OPTIONS","requestID":"5c5f9441646d7dc6f91836352e679e32","responseTime":1,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/websocket"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0da9d2db44fb3d9ed76f2a3dbd0dcef","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4ddd9f67-161b-47de-8a06-436f688dd355/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":"5c5f9441646d7dc6f91836352e679e32"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/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":"d0da9d2db44fb3d9ed76f2a3dbd0dcef"} device_1 | {"level":"info","message":"OPTIONS /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/websocket 200 1ms","method":"OPTIONS","requestID":"d0da9d2db44fb3d9ed76f2a3dbd0dcef","responseTime":1,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"e94b6d43c66c9f96bf349617fbb7255a","responseTime":7,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c461a12ec017d62609a9fa85b7389ec6","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197733,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} 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":"e94b6d43c66c9f96bf349617fbb7255a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23912,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} 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":"c461a12ec017d62609a9fa85b7389ec6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/websocket 200 42ms","method":"POST","requestID":"c461a12ec017d62609a9fa85b7389ec6","responseTime":42,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c461a12ec017d62609a9fa85b7389ec6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ddd9f67-161b-47de-8a06-436f688dd355/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e94b6d43c66c9f96bf349617fbb7255a"} device_1 | {"level":"info","message":"POST /devices/4ddd9f67-161b-47de-8a06-436f688dd355/websocket 200 46ms","method":"POST","requestID":"e94b6d43c66c9f96bf349617fbb7255a","responseTime":46,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea5fadd6c4dd0df8ecf47ba955c01d40","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178762,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5fadd6c4dd0df8ecf47ba955c01d40"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.469948293Z"}]},"request_id":"a49f9e30-ecd0-4e57-bfa8-b6d35e2a6fb1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.6079109} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5fadd6c4dd0df8ecf47ba955c01d40"},"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":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ddd9f67-161b-47de-8a06-436f688dd355? 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":"ea5fadd6c4dd0df8ecf47ba955c01d40"} device_1 | {"level":"info","message":"GET /devices/4ddd9f67-161b-47de-8a06-436f688dd355? 200 20ms","method":"GET","requestID":"ea5fadd6c4dd0df8ecf47ba955c01d40","responseTime":20,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6505b9c271cff467e07760fdcb8d61f9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.428423,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6505b9c271cff467e07760fdcb8d61f9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.524413629Z"}]},"request_id":"29ee84de-c2cd-4870-96de-ffdf53830783","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.6370263} 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":"6505b9c271cff467e07760fdcb8d61f9"},"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":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 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":"6505b9c271cff467e07760fdcb8d61f9"} device_1 | {"level":"info","message":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 200 20ms","method":"GET","requestID":"6505b9c271cff467e07760fdcb8d61f9","responseTime":20,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f102cf6a07544b640910f320ac666e9","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:35260","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.249251,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} 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":"5f102cf6a07544b640910f320ac666e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"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:35260","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845456,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89b910b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951424,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89b937c0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.469948293Z"}]},"request_id":"e612501b-7351-49f2-928a-d270f34daa23","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.7090094} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.524413629Z"}]},"request_id":"f3b77d0b-2f6f-4206-b609-2a1a42c2756d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.7099357} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89b910b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89b937c0-faac-11ee-adee-eb1d2c4f6619"},"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/4ddd9f67-161b-47de-8a06-436f688dd355? 200 19ms","method":"GET","requestID":"89b910b0-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 200 19ms","method":"GET","requestID":"89b937c0-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"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/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040362,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89c4a970-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.996301,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89c4f790-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.469948293Z"}]},"request_id":"6e31e8fb-e070-49c5-a60b-2616cd8b96e6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.78793} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7b7df8d-aa14-45d3-8529-d2972c5a5af2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.7881215} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89c4a970-faac-11ee-adee-eb1d2c4f6619"},"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:35260","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.666844,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.524413629Z"}]},"request_id":"0e8c2582-d46d-45d2-9da5-70fb95e9e8f6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.788978} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","rebac_allow":false,"scope_allow":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":"89c545b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89c4f790-faac-11ee-adee-eb1d2c4f6619"},"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/4ddd9f67-161b-47de-8a06-436f688dd355? 200 21ms","method":"GET","requestID":"89c4a970-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling 200 20ms","method":"POST","requestID":"89c545b0-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7a71567-ed33-4731-9ffa-bfcb3ca47aff#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7a71567-ed33-4731-9ffa-bfcb3ca47aff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"e6038e69-f91c-473b-9502-23614a4f7a54","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.8000135} device_1 | {"level":"info","message":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 200 23ms","method":"GET","requestID":"89c4f790-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0f2c93e-cf4d-4c04-b5dd-4b25e9aa6b58","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.800361} 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":"5f102cf6a07544b640910f320ac666e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87d83095-3847-4467-a32f-000dcc6e713e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.8082619} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.444333,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","rebac_allow":false,"scope_allow":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":"89c8c820-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba573465-d59e-4396-be9e-9c6683232b66","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.809521} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.862878,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"5f102cf6a07544b640910f320ac666e9","responseTime":158,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","rebac_allow":false,"scope_allow":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":"89c8ef30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f102cf6a07544b640910f320ac666e9"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling 200 13ms","method":"POST","requestID":"89c8c820-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b23a1ddeea63fd93c5793bd6ded94f9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"POST /devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling 200 15ms","method":"POST","requestID":"89c8ef30-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730064,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b23a1ddeea63fd93c5793bd6ded94f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfbfd5c8-70d8-421c-978d-26dcfae74275","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.825271} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557326,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","rebac_allow":false,"scope_allow":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":"89cbae50-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.469948293Z"}]},"request_id":"bd9e2797-9344-412a-98ac-26d29991d083","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.829942} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b23a1ddeea63fd93c5793bd6ded94f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"POST /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling 200 10ms","method":"POST","requestID":"89cbae50-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"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":"fd4994c4-6575-4666-aafe-40dab5dae273"},{"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":"fcb1b8d8-bc80-4c8a-b31a-c1c1b6d05b8b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b637ea61-4670-497d-a6cd-0dc939dfffac"}]},"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/a5c14d71-4e7b-45cd-9c54-11a4b037f503"},{"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/4ddd9f67-161b-47de-8a06-436f688dd355"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ddd9f67-161b-47de-8a06-436f688dd355? 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":"8b23a1ddeea63fd93c5793bd6ded94f9"} device_1 | {"level":"info","message":"GET /devices/4ddd9f67-161b-47de-8a06-436f688dd355? 200 15ms","method":"GET","requestID":"8b23a1ddeea63fd93c5793bd6ded94f9","responseTime":15,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.767334,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk","level":"info","message":"auth send jwt"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c44cc36b218138ef4ebfdb0b61875daa","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89cdd130-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737802,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132944,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NH0.eWScPxiQxw_jCIQBs5ZMhhMutahprlbgNx75UKPy9Nk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c44cc36b218138ef4ebfdb0b61875daa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:42.524413629Z"}]},"request_id":"be2d8ad4-103c-4ec1-af13-947d2719c603","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.848927} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c44cc36b218138ef4ebfdb0b61875daa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"81671441-81c5-4f60-bd00-b8145735f0c3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.8496478} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fba1bf30-217a-44d5-bfcb-0a6c686cef84","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.849905} 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":"89cdd130-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 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":"c44cc36b218138ef4ebfdb0b61875daa"} device_1 | {"level":"info","message":"GET /devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503? 200 12ms","method":"GET","requestID":"c44cc36b218138ef4ebfdb0b61875daa","responseTime":12,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503?"} 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/72bb379a-c149-4de2-81ce-4f59806268ce'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"89cdd130-faac-11ee-adee-eb1d2c4f6619","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6aab644-2a11-4d04-86c8-b8f63647d520","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.9053445} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.731168,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","rebac_allow":false,"scope_allow":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":"89d79530-faac-11ee-adee-eb1d2c4f6619"},"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/4ddd9f67-161b-47de-8a06-436f688dd355/signaling 200 12ms","method":"POST","requestID":"89d79530-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12569857-8acf-41b6-89bd-cb0b798a67a3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132944.9175982} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.210321,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","rebac_allow":false,"scope_allow":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":"89d9b810-faac-11ee-adee-eb1d2c4f6619"},"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/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling 200 9ms","method":"POST","requestID":"89d9b810-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"472d2134575328087e82924fddc8bc00","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/a5c14d71-4e7b-45cd-9c54-11a4b037f503"},{"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/4ddd9f67-161b-47de-8a06-436f688dd355"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"472d2134575328087e82924fddc8bc00","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"472d2134575328087e82924fddc8bc00"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","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/72bb379a-c149-4de2-81ce-4f59806268ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5c8839b00fc62ad838b28b86be9735f1","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/a5c14d71-4e7b-45cd-9c54-11a4b037f503"},{"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/4ddd9f67-161b-47de-8a06-436f688dd355"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72bb379a-c149-4de2-81ce-4f59806268ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b302b445-77e6-4b90-babc-8fa6537991f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.1358469} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.066388,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce","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":"89fa8680-faac-11ee-adee-eb1d2c4f6619"},"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/72bb379a-c149-4de2-81ce-4f59806268ce 200 15ms","method":"GET","requestID":"89fa8680-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"5c8839b00fc62ad838b28b86be9735f1","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c8839b00fc62ad838b28b86be9735f1"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa4a0387-7073-4484-be56-5e812b08aa1c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.1734667} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.951355,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","rebac_allow":false,"scope_allow":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":"8a0079f0-faac-11ee-adee-eb1d2c4f6619"},"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/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling 200 13ms","method":"POST","requestID":"8a0079f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bde32c5-3d0c-423d-93e9-ad768295a6bf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.1876168} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.087404,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","rebac_allow":false,"scope_allow":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":"8a02c3e0-faac-11ee-adee-eb1d2c4f6619"},"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/4ddd9f67-161b-47de-8a06-436f688dd355/signaling 200 10ms","method":"POST","requestID":"8a02c3e0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9bd500c500aa6cd123a3f75f65526a80","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.248843,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132945,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE"} 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":"9bd500c500aa6cd123a3f75f65526a80"},"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/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} experiment_1 | {"level":"info","message":"GET /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff 200 16ms","method":"GET","requestID":"9bd500c500aa6cd123a3f75f65526a80","responseTime":16,"status":200,"url":"/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bd500c500aa6cd123a3f75f65526a80"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d61228571109792cde782677e93f3df","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.923556,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132945,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE"} 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":"4d61228571109792cde782677e93f3df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.306835,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132945,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE"} 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":"8a0d9950-faac-11ee-adee-eb1d2c4f6619"},"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/72bb379a-c149-4de2-81ce-4f59806268ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72bb379a-c149-4de2-81ce-4f59806268ce': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72bb379a-c149-4de2-81ce-4f59806268ce","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"73c6e9aa-3317-406d-9625-b06a3b321a69","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.27776} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e778d58d64642d2a785cbf73c191fdc6","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48eadcf9-dc9f-49d9-8f99-2ee40fa9af78","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.2782767} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503"},{"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/4ddd9f67-161b-47de-8a06-436f688dd355"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"89ee024804175cbb44f211287277eaed","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":"8a0d9950-faac-11ee-adee-eb1d2c4f6619"},"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":"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/a5c14d71-4e7b-45cd-9c54-11a4b037f503"},{"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/4ddd9f67-161b-47de-8a06-436f688dd355"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"72bb379a-c149-4de2-81ce-4f59806268ce","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/72bb379a-c149-4de2-81ce-4f59806268ce 204 57ms","method":"DELETE","requestID":"8a0d9950-faac-11ee-adee-eb1d2c4f6619","responseTime":57,"status":204,"url":"/peerconnections/72bb379a-c149-4de2-81ce-4f59806268ce"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5c14d71-4e7b-45cd-9c54-11a4b037f503","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea130423-0533-4375-9487-c7be75896582","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.3440006} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.104157,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503","object_type":"device","rebac_allow":false,"scope_allow":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":"8a1a6a90-faac-11ee-adee-eb1d2c4f6619"},"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/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling 200 16ms","method":"POST","requestID":"8a1a6a90-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7a71567-ed33-4731-9ffa-bfcb3ca47aff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7a71567-ed33-4731-9ffa-bfcb3ca47aff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"c1d2ff60-385a-47e1-a010-42050b9854d7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.3535519} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"816b4d63-6e96-4833-81fc-55a8be85184c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.3541281} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d61228571109792cde782677e93f3df"},"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:35260","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddd9f67-161b-47de-8a06-436f688dd355","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9eab96e-2199-4d3e-8e53-d53cff3af9df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.3660822} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.336099,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddd9f67-161b-47de-8a06-436f688dd355","object_type":"device","rebac_allow":false,"scope_allow":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":"8a1d77d0-faac-11ee-adee-eb1d2c4f6619"},"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/4ddd9f67-161b-47de-8a06-436f688dd355/signaling 200 17ms","method":"POST","requestID":"8a1d77d0-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/4ddd9f67-161b-47de-8a06-436f688dd355/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d61228571109792cde782677e93f3df"} experiment_1 | {"level":"info","message":"DELETE /experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff 204 184ms","method":"DELETE","requestID":"4d61228571109792cde782677e93f3df","responseTime":184,"status":204,"url":"/experiments/f7a71567-ed33-4731-9ffa-bfcb3ca47aff"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"e778d58d64642d2a785cbf73c191fdc6","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"e778d58d64642d2a785cbf73c191fdc6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"89ee024804175cbb44f211287277eaed","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"89ee024804175cbb44f211287277eaed"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e2c76823e7425fe9fc4b87cf055ffb7b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2397","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":"a45b8b4ac85ad61feee65873b1045d40"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +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.872","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ab1c0dc03ba93a8f86c7631c330d9fb8"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.860075,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132945,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2c76823e7425fe9fc4b87cf055ffb7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a5c14d71-4e7b-45cd-9c54-11a4b037f503' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf259ba5-ddaf-4790-bf26-7b0148c78526","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.454587} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2c76823e7425fe9fc4b87cf055ffb7b"},"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/4ddd9f67-161b-47de-8a06-436f688dd355' 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d6c52c9-3b62-44a9-8b7b-275e2c33ba31","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.4596179} 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":"e2c76823e7425fe9fc4b87cf055ffb7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"9e1409b2-10f7-4261-baf0-91360cb111cf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.4683104} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d2d2ac0-7a85-401e-85a1-f485298bb266","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.4685328} 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":"e2c76823e7425fe9fc4b87cf055ffb7b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.468287001Z"}]},"request_id":"f42fe64c-4e5c-4f59-b178-1b472a983bcd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.473182} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2c76823e7425fe9fc4b87cf055ffb7b"},"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 48ms","method":"POST","requestID":"e2c76823e7425fe9fc4b87cf055ffb7b","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2c76823e7425fe9fc4b87cf055ffb7b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"022050d7695c10a6626b7c06c2f79a7a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.836006,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132945,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0NX0.d74t5MG_LVUe33bgieS0Ocr9Hbc_KRBdRJrezPogQaE"} 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":"022050d7695c10a6626b7c06c2f79a7a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1883b63e-2a09-47aa-8c82-26777b22ec9a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.4995043} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"022050d7695c10a6626b7c06c2f79a7a"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab62f58-6bfb-48af-9a0b-400b38910647","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.504172} 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":"022050d7695c10a6626b7c06c2f79a7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"acab7eb6-00b2-493f-871b-0f639e6593c6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.5166805} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2287fff2-9da9-477e-a7ab-444d6d77f544","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.516761} 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":"022050d7695c10a6626b7c06c2f79a7a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.516658474Z"}]},"request_id":"27bdf559-8b71-4bd1-a6a1-db40475a0c94","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132945.5209517} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"022050d7695c10a6626b7c06c2f79a7a"},"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 39ms","method":"POST","requestID":"022050d7695c10a6626b7c06c2f79a7a","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"022050d7695c10a6626b7c06c2f79a7a"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a8c9004a93be321bca4f158d8d408ee7","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/4dface79-ce4f-4de3-b78d-accce64fd779/websocket 200 1ms","method":"OPTIONS","requestID":"a8c9004a93be321bca4f158d8d408ee7","responseTime":1,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4dface79-ce4f-4de3-b78d-accce64fd779/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":"a8c9004a93be321bca4f158d8d408ee7"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d255ee9240e8374494600724caba3f61","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/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":"d255ee9240e8374494600724caba3f61"} device_1 | {"level":"info","message":"OPTIONS /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/websocket 200 1ms","method":"OPTIONS","requestID":"d255ee9240e8374494600724caba3f61","responseTime":1,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ce450212b80bb7852ee4241486a44a41","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba1150cffe8bc4994c92129575cef4db","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086836,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce450212b80bb7852ee4241486a44a41"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854882,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba1150cffe8bc4994c92129575cef4db"},"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/4dface79-ce4f-4de3-b78d-accce64fd779/websocket 200 35ms","method":"POST","requestID":"ce450212b80bb7852ee4241486a44a41","responseTime":35,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4dface79-ce4f-4de3-b78d-accce64fd779/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":"ce450212b80bb7852ee4241486a44a41"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba1150cffe8bc4994c92129575cef4db"} device_1 | {"level":"info","message":"POST /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/websocket 200 43ms","method":"POST","requestID":"ba1150cffe8bc4994c92129575cef4db","responseTime":43,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5cd0227224e46f8c923b95245b7979b8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163204,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd0227224e46f8c923b95245b7979b8"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.468287001Z"}]},"request_id":"22524285-8a83-456d-8e98-929f57708e95","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.5533988} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd0227224e46f8c923b95245b7979b8"},"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/4dface79-ce4f-4de3-b78d-accce64fd779? 200 18ms","method":"GET","requestID":"5cd0227224e46f8c923b95245b7979b8","responseTime":18,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4dface79-ce4f-4de3-b78d-accce64fd779? 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":"5cd0227224e46f8c923b95245b7979b8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3284c6eacaefa5b8f682b1bf3c2abaa3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.399479,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3284c6eacaefa5b8f682b1bf3c2abaa3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.516658474Z"}]},"request_id":"016649b2-c274-4a85-a504-4fd463fc47c4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.5787556} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3284c6eacaefa5b8f682b1bf3c2abaa3"},"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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 200 18ms","method":"GET","requestID":"3284c6eacaefa5b8f682b1bf3c2abaa3","responseTime":18,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 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":"3284c6eacaefa5b8f682b1bf3c2abaa3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ed4ca09e2af0ed94c90f7cfc3720256d","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:35260","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.092267,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"ed4ca09e2af0ed94c90f7cfc3720256d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"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:35260","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296209,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"8b7c4480-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651753,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"8b7c92a0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.468287001Z"}]},"request_id":"7a61cae4-e2de-48e8-bd86-d134c3228ca6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.6737595} 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":"8b7c4480-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.516658474Z"}]},"request_id":"a846d40b-ef8c-4402-a2e1-85259cb5a12f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.6762753} 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":"8b7c92a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4dface79-ce4f-4de3-b78d-accce64fd779? 200 29ms","method":"GET","requestID":"8b7c4480-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 200 29ms","method":"GET","requestID":"8b7c92a0-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"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/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938426,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"8b88a090-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685989,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"8b88c7a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.468287001Z"}]},"request_id":"37a5d02c-d81f-4c88-b702-ebb8d25b49be","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.753138} 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":"8b88a090-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.516658474Z"}]},"request_id":"b1b0e46e-b849-4120-8f80-365aeac31e22","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.755675} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bea734d5-0b30-4a66-a280-e1a124b1131e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7562456} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b88c7a0-faac-11ee-adee-eb1d2c4f6619"},"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:59224","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.928414,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","rebac_allow":false,"scope_allow":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":"8b88eeb0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcae778e7-04f9-4943-a105-c30a5de0fa54#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcae778e7-04f9-4943-a105-c30a5de0fa54","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"1a320785-ac11-4c6f-ac5c-7ccbfcf8a8d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7624} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"205f5644-3491-4607-98e4-9b4ae33552cd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7626061} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"ed4ca09e2af0ed94c90f7cfc3720256d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"GET /devices/4dface79-ce4f-4de3-b78d-accce64fd779? 200 28ms","method":"GET","requestID":"8b88a090-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 200 28ms","method":"GET","requestID":"8b88c7a0-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling 200 27ms","method":"POST","requestID":"8b88eeb0-faac-11ee-adee-eb1d2c4f6619","responseTime":27,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 181ms","method":"POST","requestID":"ed4ca09e2af0ed94c90f7cfc3720256d","responseTime":181,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd175d77-a5fa-440f-b68c-99c214656b0b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7761} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ac876e1-b8e9-4fb8-9925-d1b4a48d7241","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7760997} gateway_1 | {"time_local":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed4ca09e2af0ed94c90f7cfc3720256d"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.129972,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.152807,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","rebac_allow":false,"scope_allow":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":"8b8dd0b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","rebac_allow":false,"scope_allow":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":"8b8da9a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e586c916299ad929ddc1ef84a5f2413","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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling 200 14ms","method":"POST","requestID":"8b8dd0b0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling 200 16ms","method":"POST","requestID":"8b8da9a0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955776,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e586c916299ad929ddc1ef84a5f2413"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.468287001Z"}]},"request_id":"d02b2e6f-b107-40fc-be51-6fe9b14b1cd2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.793672} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e586c916299ad929ddc1ef84a5f2413"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92c13eec-618f-4a9d-8220-02da9d26be9a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.7945046} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.3342,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","rebac_allow":false,"scope_allow":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":"8b908fd0-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4dface79-ce4f-4de3-b78d-accce64fd779? 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":"2e586c916299ad929ddc1ef84a5f2413"} device_1 | {"level":"info","message":"GET /devices/4dface79-ce4f-4de3-b78d-accce64fd779? 200 15ms","method":"GET","requestID":"2e586c916299ad929ddc1ef84a5f2413","responseTime":15,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling 200 11ms","method":"POST","requestID":"8b908fd0-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"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":"4c7c60bd-5b49-4d62-adab-b6118e513a71"},{"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":"d9235d8c-4f2b-4715-85e8-d321da4a5e0d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fb739314-c796-424c-887c-29db5187db01"}]},"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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce"},{"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/4dface79-ce4f-4de3-b78d-accce64fd779"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45c5af39963bf7eb26a340a093c5650b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.605792,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"8b92b2b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.581931,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132947,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0N30.5aLhha-pReAMwnfCzwRlXgzYDO6QL96oz4D5gDeqJ2Q"} 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":"45c5af39963bf7eb26a340a093c5650b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:45.516658474Z"}]},"request_id":"7c842df5-5dca-4697-9878-a367d291af8b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.81155} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45c5af39963bf7eb26a340a093c5650b"},"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":"14/Apr/2024:22:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 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":"45c5af39963bf7eb26a340a093c5650b"} device_1 | {"level":"info","message":"GET /devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce? 200 10ms","method":"GET","requestID":"45c5af39963bf7eb26a340a093c5650b","responseTime":10,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"8959ec84-a567-41c5-8416-54735a1a7e3c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.8151784} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd4407a9-a364-4445-9a69-131941d0daba","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.8154812} 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":"8b92b2b0-faac-11ee-adee-eb1d2c4f6619"},"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/559ec85c-c8c8-41b6-8fc2-b61941077723'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"8b92b2b0-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bd269b5-31b7-4aa6-bdc6-be28211909d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.8617675} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755219,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","rebac_allow":false,"scope_allow":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":"8b9af010-faac-11ee-adee-eb1d2c4f6619"},"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/4dface79-ce4f-4de3-b78d-accce64fd779/signaling 200 9ms","method":"POST","requestID":"8b9af010-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a72d6dc0-4098-4547-9167-068a8441fe99","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132947.8724673} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.21951,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:47Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","rebac_allow":false,"scope_allow":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":"8b9c9dc0-faac-11ee-adee-eb1d2c4f6619"},"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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling 200 9ms","method":"POST","requestID":"8b9c9dc0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"559ec85c-c8c8-41b6-8fc2-b61941077723","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4f87e48f13b5726921639f7bf3609e1","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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce"},{"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/4dface79-ce4f-4de3-b78d-accce64fd779"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d4f87e48f13b5726921639f7bf3609e1","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4f87e48f13b5726921639f7bf3609e1"} device_1 | {"data":{"peerconnection":"559ec85c-c8c8-41b6-8fc2-b61941077723","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"559ec85c-c8c8-41b6-8fc2-b61941077723","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/559ec85c-c8c8-41b6-8fc2-b61941077723' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"559ec85c-c8c8-41b6-8fc2-b61941077723","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"303190e2531be819d41c50e348d12924","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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce"},{"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/4dface79-ce4f-4de3-b78d-accce64fd779"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F559ec85c-c8c8-41b6-8fc2-b61941077723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da6bcbbb-95b9-40ce-9582-c8f30f10b27e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.099024} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.484431,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723","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":"8bbef2d0-faac-11ee-adee-eb1d2c4f6619"},"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/559ec85c-c8c8-41b6-8fc2-b61941077723 200 14ms","method":"GET","requestID":"8bbef2d0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"303190e2531be819d41c50e348d12924","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"303190e2531be819d41c50e348d12924"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c095bfa6-3ce4-470a-8e96-ecde55d22d73","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.1333654} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.524223,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","rebac_allow":false,"scope_allow":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":"8bc422f0-faac-11ee-adee-eb1d2c4f6619"},"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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling 200 13ms","method":"POST","requestID":"8bc422f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e234a627-22f5-4fd2-b742-73d4784392f9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.1494575} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.676465,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","rebac_allow":false,"scope_allow":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":"8bc693f0-faac-11ee-adee-eb1d2c4f6619"},"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/4dface79-ce4f-4de3-b78d-accce64fd779/signaling 200 13ms","method":"POST","requestID":"8bc693f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9194450238eec6afc72a17c0936a56b2","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.047714,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} 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":"9194450238eec6afc72a17c0936a56b2"},"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/cae778e7-04f9-4943-a105-c30a5de0fa54"} experiment_1 | {"level":"info","message":"GET /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54 200 14ms","method":"GET","requestID":"9194450238eec6afc72a17c0936a56b2","responseTime":14,"status":200,"url":"/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9194450238eec6afc72a17c0936a56b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d33ed41a1644f54858e907d049d79e73","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.419029,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} 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":"d33ed41a1644f54858e907d049d79e73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.391404,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} 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":"8bd253c0-faac-11ee-adee-eb1d2c4f6619"},"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/559ec85c-c8c8-41b6-8fc2-b61941077723' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"559ec85c-c8c8-41b6-8fc2-b61941077723","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F559ec85c-c8c8-41b6-8fc2-b61941077723': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F559ec85c-c8c8-41b6-8fc2-b61941077723","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"71d165bf-5feb-468f-bf06-234f3b729a01","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.246288} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81ac1f8d-285f-4bc9-8dee-5b03672f4df1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.2466419} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"befac2856da642aa668cccec6bd4fc50","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce"},{"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/4dface79-ce4f-4de3-b78d-accce64fd779"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"da24e289dec23b41f0c8dd8f3ba053a0","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":"8bd253c0-faac-11ee-adee-eb1d2c4f6619"},"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","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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce"},{"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/4dface79-ce4f-4de3-b78d-accce64fd779"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723 204 64ms","method":"DELETE","requestID":"8bd253c0-faac-11ee-adee-eb1d2c4f6619","responseTime":64,"status":204,"url":"/peerconnections/559ec85c-c8c8-41b6-8fc2-b61941077723"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed5dee7b-5b1d-49cf-abc2-7f71359a91ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0c2cb5b-858d-43ef-82b5-6ec2a7d31f49","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.3162909} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.977212,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce","object_type":"device","rebac_allow":false,"scope_allow":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":"8bdfe850-faac-11ee-adee-eb1d2c4f6619"},"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/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling 200 16ms","method":"POST","requestID":"8bdfe850-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcae778e7-04f9-4943-a105-c30a5de0fa54': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcae778e7-04f9-4943-a105-c30a5de0fa54","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"d63fd2e2-fe19-430e-9762-8bd43d007742","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.3262875} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bc565a3-0bb5-4b94-b13b-8dd2e3a1ff66","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.3265707} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d33ed41a1644f54858e907d049d79e73"},"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:35260","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dface79-ce4f-4de3-b78d-accce64fd779","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831c60ec-b4fb-4f4d-98f4-a0681261b36c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.335841} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.114801,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779","object_type":"device","rebac_allow":false,"scope_allow":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":"8be2f590-faac-11ee-adee-eb1d2c4f6619"},"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/4dface79-ce4f-4de3-b78d-accce64fd779/signaling 200 15ms","method":"POST","requestID":"8be2f590-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/4dface79-ce4f-4de3-b78d-accce64fd779/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d33ed41a1644f54858e907d049d79e73"} experiment_1 | {"level":"info","message":"DELETE /experiments/cae778e7-04f9-4943-a105-c30a5de0fa54 204 191ms","method":"DELETE","requestID":"d33ed41a1644f54858e907d049d79e73","responseTime":191,"status":204,"url":"/experiments/cae778e7-04f9-4943-a105-c30a5de0fa54"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"befac2856da642aa668cccec6bd4fc50","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"befac2856da642aa668cccec6bd4fc50"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"da24e289dec23b41f0c8dd8f3ba053a0","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"da24e289dec23b41f0c8dd8f3ba053a0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bbb31f01ff402f84d6b3ce492240f764","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.996714,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} 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":"bbb31f01ff402f84d6b3ce492240f764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2128","request_time":"0.895","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0f62146e97ba4f6ed5631b0750dafe60"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +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.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":"5fd4185ed48a32fad090c3a0ece02cca"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ed5dee7b-5b1d-49cf-abc2-7f71359a91ce' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4dface79-ce4f-4de3-b78d-accce64fd779' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ff9140f5-772a-4bc5-9a4b-6daa04fb66ff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4212728} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbb31f01ff402f84d6b3ce492240f764"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d11b296e-1495-45ea-9f80-7cae350692ea","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4260356} 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":"bbb31f01ff402f84d6b3ce492240f764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"01a6a339-63e3-4453-93cb-d1afe61b3b88","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4372776} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfa1ed70-56af-4fc4-adab-58033c43b56f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4375138} 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":"bbb31f01ff402f84d6b3ce492240f764"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.437248272Z"}]},"request_id":"f2cb9e33-9b9c-465d-8c20-a7f6137a53ea","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4432857} 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":"bbb31f01ff402f84d6b3ce492240f764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevices succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbb31f01ff402f84d6b3ce492240f764"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"bbb31f01ff402f84d6b3ce492240f764","responseTime":47,"status":201,"url":"/devices?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2163a3145bf7bf3bf90fb5501f7fb0e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.746906,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} 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":"a2163a3145bf7bf3bf90fb5501f7fb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fc847d47-f059-4522-b226-cd3fa86feaa6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4741225} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2163a3145bf7bf3bf90fb5501f7fb0e"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b1dc7e8-5b84-48e7-9c45-649fde8c7b37","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4789474} 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":"a2163a3145bf7bf3bf90fb5501f7fb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"a59734fb-cef2-4750-95e5-9939218197ac","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4873881} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbc92151-eb24-4fff-a68e-1a027784d91d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4875216} 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":"a2163a3145bf7bf3bf90fb5501f7fb0e"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"eb7bb5d0-2a8a-4460-bd28-e0e0ceb6af31","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.4913023} authorization_1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2163a3145bf7bf3bf90fb5501f7fb0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"a2163a3145bf7bf3bf90fb5501f7fb0e","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2163a3145bf7bf3bf90fb5501f7fb0e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db4f9f76a62bd5b4ce2296b4e547042a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720068,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132948,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OH0.YT_Ut014lBCrvRpY16Uoc-OTXXWU-srK25Ajt53PbeE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db4f9f76a62bd5b4ce2296b4e547042a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"30ba1588-3bcc-4049-b254-8465b7460269","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.9761019} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db4f9f76a62bd5b4ce2296b4e547042a"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71d8dc76-771e-440e-9db8-0a047df4c2d9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132948.9840374} 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":"db4f9f76a62bd5b4ce2296b4e547042a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"7237f2af-2261-4e65-997c-894440ee0d33","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132949.0021846} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db4f9f76a62bd5b4ce2296b4e547042a"},"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":"14/Apr/2024:22:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"db4f9f76a62bd5b4ce2296b4e547042a"} device_1 | {"level":"info","message":"PATCH /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58 200 44ms","method":"PATCH","requestID":"db4f9f76a62bd5b4ce2296b4e547042a","responseTime":44,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OX0.tuuWzudXD5EuxVMjYEi1hwYUBmjf5Wb2VgYfMmNc5Vs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22ab5837716a368bc7635032cc3b6a07","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.361929,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132949,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk0OX0.tuuWzudXD5EuxVMjYEi1hwYUBmjf5Wb2VgYfMmNc5Vs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22ab5837716a368bc7635032cc3b6a07"},"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":"14/Apr/2024:22:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/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.4","requestID":"22ab5837716a368bc7635032cc3b6a07"} device_1 | {"level":"info","message":"POST /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/websocket 200 22ms","method":"POST","requestID":"22ab5837716a368bc7635032cc3b6a07","responseTime":22,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2481347f7225efd9c3bafc8f4ad8ffc3","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/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":"2481347f7225efd9c3bafc8f4ad8ffc3"} device_1 | {"level":"info","message":"OPTIONS /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/websocket 200 1ms","method":"OPTIONS","requestID":"2481347f7225efd9c3bafc8f4ad8ffc3","responseTime":1,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"590046a1a8846c3e3a86a6216b3d69ae","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194237,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"590046a1a8846c3e3a86a6216b3d69ae"},"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":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/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":"590046a1a8846c3e3a86a6216b3d69ae"} device_1 | {"level":"info","message":"POST /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/websocket 200 26ms","method":"POST","requestID":"590046a1a8846c3e3a86a6216b3d69ae","responseTime":26,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a5bd0d35790e2510e80180c64b9ed227","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21337,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5bd0d35790e2510e80180c64b9ed227"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.437248272Z"}]},"request_id":"62db100e-db57-472b-830b-9e390082393f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.5294285} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5bd0d35790e2510e80180c64b9ed227"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 200 19ms","method":"GET","requestID":"a5bd0d35790e2510e80180c64b9ed227","responseTime":19,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 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":"a5bd0d35790e2510e80180c64b9ed227"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6ed2afc2356149e553211f15e87cec7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284813,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6ed2afc2356149e553211f15e87cec7"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"70a611bd-503f-4a81-889f-b5dfded60ab0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.5547369} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6ed2afc2356149e553211f15e87cec7"},"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/abc5ccad-53c5-46ff-a817-9bd667dabf58? 200 18ms","method":"GET","requestID":"b6ed2afc2356149e553211f15e87cec7","responseTime":18,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58? 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":"b6ed2afc2356149e553211f15e87cec7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"59d373586adc835480d94019b39bc52a","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:35260","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.697928,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"59d373586adc835480d94019b39bc52a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"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:35260","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941591,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"8d4062b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685702,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"8d40b0d0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.437248272Z"}]},"request_id":"0c519e18-558b-40b2-a085-b2559eb9c6c9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.6278138} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d4062b0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"5f74985a-ad62-4729-a691-99b4a95ad4d2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.6283946} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d40b0d0-faac-11ee-adee-eb1d2c4f6619"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 200 16ms","method":"GET","requestID":"8d4062b0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58? 200 15ms","method":"GET","requestID":"8d40b0d0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"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/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.741893,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.255793,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"8d4bfb70-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"8d4c2280-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207518,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13fe6811-5652-4e2b-b607-d68e317c53d6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7028785} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","rebac_allow":false,"scope_allow":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":"8d4c70a0-faac-11ee-adee-eb1d2c4f6619"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling 200 11ms","method":"POST","requestID":"8d4c70a0-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.437248272Z"}]},"request_id":"e2041f42-0a3d-4845-ada4-0ab3e11f7350","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7102373} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"8d4bfb70-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"42ec67c2-1eef-40d2-8208-ae02f5891ff9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7120078} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d4c2280-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"GET /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 200 21ms","method":"GET","requestID":"8d4bfb70-faac-11ee-adee-eb1d2c4f6619","responseTime":21,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc2904f2-fc81-4350-8b04-00b719c68b55#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc2904f2-fc81-4350-8b04-00b719c68b55","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"7f985cb4-99df-4021-847e-8c7afa7bb12e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7155652} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9e5ee8a-a642-4e63-9c78-e25e6207f625","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7157245} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59d373586adc835480d94019b39bc52a"},"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:35260","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"961c3a19-65b4-4d17-9f2b-48aa01455cbe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7197864} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545438,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","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/abc5ccad-53c5-46ff-a817-9bd667dabf58? 200 25ms","method":"GET","requestID":"8d4c2280-faac-11ee-adee-eb1d2c4f6619","responseTime":25,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58?"} 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":"8d4e9380-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling 200 14ms","method":"POST","requestID":"8d4e9380-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80f57808-1444-4e0e-96a3-327016c0355d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.729663} experiment_1 | {"data":{"experiment":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"59d373586adc835480d94019b39bc52a","responseTime":165,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.607704,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","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":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59d373586adc835480d94019b39bc52a"} 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":"8d506840-faac-11ee-adee-eb1d2c4f6619"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling 200 13ms","method":"POST","requestID":"8d506840-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"86e7de4663ebf26d2d4337cd4fdc4d92","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6edcb3c-4c69-4ed3-a343-ef01fe587bb4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.745352} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802974,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86e7de4663ebf26d2d4337cd4fdc4d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477671,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","rebac_allow":false,"scope_allow":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":"8d52d940-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.437248272Z"}]},"request_id":"e33692e9-1ec7-4e60-988c-d40895e3aca7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.753132} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling 200 14ms","method":"POST","requestID":"8d52d940-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/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":"86e7de4663ebf26d2d4337cd4fdc4d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"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":"6c8833dc-4d3d-4305-9185-5cdd9ff4f09b"},{"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":"259a37c0-6009-4a1c-8bce-c632f584a097"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"718f2718-8b5e-4a54-889f-0116166172e4"}]},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7"},{"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/abc5ccad-53c5-46ff-a817-9bd667dabf58"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 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":"86e7de4663ebf26d2d4337cd4fdc4d92"} device_1 | {"level":"info","message":"GET /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7? 200 16ms","method":"GET","requestID":"86e7de4663ebf26d2d4337cd4fdc4d92","responseTime":16,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.978407,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60f764dfa1a57e05eb03288228d754ce","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d557150-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707766,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60f764dfa1a57e05eb03288228d754ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"f3faa268-9b78-490e-bffc-9838b1f8a8d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.770941} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cad144f0-f6f6-46c5-9a0e-729fb730acf6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7711263} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:48.487368450Z"}]},"request_id":"880b14f2-034d-48df-ac62-23737488629f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.7716112} 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":"8d557150-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60f764dfa1a57e05eb03288228d754ce"},"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/abc5ccad-53c5-46ff-a817-9bd667dabf58? 200 15ms","method":"GET","requestID":"60f764dfa1a57e05eb03288228d754ce","responseTime":15,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58? 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":"60f764dfa1a57e05eb03288228d754ce"} 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/e4136cbe-da66-4228-bc87-5d2cf54b015e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e'"} 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 45ms","method":"POST","requestID":"8d557150-faac-11ee-adee-eb1d2c4f6619","responseTime":45,"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":"e4136cbe-da66-4228-bc87-5d2cf54b015e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43ead54d-4d2a-4e4a-97c7-0dce7d5427c9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.8406315} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.404722,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","rebac_allow":false,"scope_allow":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":"8d613120-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"78bf4e25691769c5704edcd648de2b29","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7"},{"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/abc5ccad-53c5-46ff-a817-9bd667dabf58"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling 200 17ms","method":"POST","requestID":"8d613120-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"78bf4e25691769c5704edcd648de2b29","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"78bf4e25691769c5704edcd648de2b29"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1736c196-448a-4efb-ac51-789f77506c56","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.8618803} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.326046,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","rebac_allow":false,"scope_allow":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":"8d64b390-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","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/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling 200 10ms","method":"POST","requestID":"8d64b390-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling"} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","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/e4136cbe-da66-4228-bc87-5d2cf54b015e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e816b671bec4995971075e595b4afb8","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/912330c2-84ca-47a2-81ff-dffc1bb73cf7"},{"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/abc5ccad-53c5-46ff-a817-9bd667dabf58"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4136cbe-da66-4228-bc87-5d2cf54b015e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd81e00c-df8d-49e8-a9ed-79c6ec0c33e9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.9112654} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.378442,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e","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":"8d6c2da0-faac-11ee-adee-eb1d2c4f6619"},"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/e4136cbe-da66-4228-bc87-5d2cf54b015e 200 9ms","method":"GET","requestID":"8d6c2da0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"6e816b671bec4995971075e595b4afb8","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e816b671bec4995971075e595b4afb8"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9d26d93-9fc3-42cf-a521-f30a278b6bf9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.9393494} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.998134,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","rebac_allow":false,"scope_allow":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":"8d709a70-faac-11ee-adee-eb1d2c4f6619"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling 200 9ms","method":"POST","requestID":"8d709a70-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b92a3800-7531-41f2-ba88-69a373a7a095","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132950.950057} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179181,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","rebac_allow":false,"scope_allow":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":"8d724820-faac-11ee-adee-eb1d2c4f6619"},"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/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling 200 8ms","method":"POST","requestID":"8d724820-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9205e5ea6890ec00d1b1e04637c94ba0","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.143609,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132950,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MH0.M0_69pKv8QeLJ-sguD5uc9zf_-a34xTuGbEUoYG6cfc"} 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":"9205e5ea6890ec00d1b1e04637c94ba0"},"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/dc2904f2-fc81-4350-8b04-00b719c68b55"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9205e5ea6890ec00d1b1e04637c94ba0"} experiment_1 | {"level":"info","message":"GET /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55 200 18ms","method":"GET","requestID":"9205e5ea6890ec00d1b1e04637c94ba0","responseTime":18,"status":200,"url":"/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"223fd5498eb3d2c7c3017e74483dd3e1","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.985031,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} 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":"223fd5498eb3d2c7c3017e74483dd3e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.161058,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} 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":"8d813c40-faac-11ee-adee-eb1d2c4f6619"},"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/e4136cbe-da66-4228-bc87-5d2cf54b015e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cced82a9b6e6a57906ed1621984f1df4","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4136cbe-da66-4228-bc87-5d2cf54b015e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4136cbe-da66-4228-bc87-5d2cf54b015e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"bf516bdc-750a-4f90-901a-e9760581b883","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.0699286} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edc1e343a9c94bfe66143d4cc1a654af","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/912330c2-84ca-47a2-81ff-dffc1bb73cf7"},{"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/abc5ccad-53c5-46ff-a817-9bd667dabf58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"}}},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d76095b0-7209-46e3-be17-76d6bd793704","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.0703397} 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/912330c2-84ca-47a2-81ff-dffc1bb73cf7"},{"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/abc5ccad-53c5-46ff-a817-9bd667dabf58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d813c40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"peerconnection":"e4136cbe-da66-4228-bc87-5d2cf54b015e","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/e4136cbe-da66-4228-bc87-5d2cf54b015e 204 50ms","method":"DELETE","requestID":"8d813c40-faac-11ee-adee-eb1d2c4f6619","responseTime":50,"status":204,"url":"/peerconnections/e4136cbe-da66-4228-bc87-5d2cf54b015e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F912330c2-84ca-47a2-81ff-dffc1bb73cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73c01dfc-9c9d-4901-a283-70dd48cdd890","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.1177778} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.052458,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7","object_type":"device","rebac_allow":false,"scope_allow":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":"8d8b4e60-faac-11ee-adee-eb1d2c4f6619"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling 200 13ms","method":"POST","requestID":"8d8b4e60-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/912330c2-84ca-47a2-81ff-dffc1bb73cf7/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabc5ccad-53c5-46ff-a817-9bd667dabf58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22b88837-a909-4793-8edc-7a104e62b585","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.1294382} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc2904f2-fc81-4350-8b04-00b719c68b55': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc2904f2-fc81-4350-8b04-00b719c68b55","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"4cb07584-aac3-47ce-922a-787e2d1f32f8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.1294866} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"095df564-cdb2-4f4c-b738-f276caafdf6c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.129844} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.435816,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58","object_type":"device","rebac_allow":false,"scope_allow":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":"8d8d9850-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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":"223fd5498eb3d2c7c3017e74483dd3e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling 200 9ms","method":"POST","requestID":"8d8d9850-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"223fd5498eb3d2c7c3017e74483dd3e1"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +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.159","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"2ce5c8cc27ce891b7603e8ee18bdf90c"} experiment_1 | {"level":"info","message":"DELETE /experiments/dc2904f2-fc81-4350-8b04-00b719c68b55 204 170ms","method":"DELETE","requestID":"223fd5498eb3d2c7c3017e74483dd3e1","responseTime":170,"status":204,"url":"/experiments/dc2904f2-fc81-4350-8b04-00b719c68b55"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"cced82a9b6e6a57906ed1621984f1df4","responseTime":130,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1049ab1c8f593676a6ca4c835281c543","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"cced82a9b6e6a57906ed1621984f1df4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"edc1e343a9c94bfe66143d4cc1a654af","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +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.707","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6371dc1d211f6e90e5e4c389ca945ab8"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"edc1e343a9c94bfe66143d4cc1a654af"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abc5ccad-53c5-46ff-a817-9bd667dabf58' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.397342,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} 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":"1049ab1c8f593676a6ca4c835281c543"},"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/912330c2-84ca-47a2-81ff-dffc1bb73cf7' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2ac3dc1a-0bf3-429c-baba-b617e87e6c12","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.232541} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1049ab1c8f593676a6ca4c835281c543"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14ec7c76-edad-4dc9-ad56-30d0ec0c2838","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2382274} 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":"1049ab1c8f593676a6ca4c835281c543"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"28a897d0-4f7d-4596-86e4-098a4fe87d48","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2513154} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e19b7a36-c4e7-4111-bfc7-dbf8737877a6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2514899} 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":"1049ab1c8f593676a6ca4c835281c543"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.251273638Z"}]},"request_id":"f02e8014-2104-4a3f-81e4-ece615156ee3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.255946} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1049ab1c8f593676a6ca4c835281c543"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"1049ab1c8f593676a6ca4c835281c543","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1049ab1c8f593676a6ca4c835281c543"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca42ffa686073d2743ed8448724b22c9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707268,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} 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":"ca42ffa686073d2743ed8448724b22c9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e911cbb9-3e52-47f0-b007-53e417ea39b8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.279306} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca42ffa686073d2743ed8448724b22c9"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e0fdd0f-bf82-442f-b3c8-f8d251e4fb9b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2842474} 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":"ca42ffa686073d2743ed8448724b22c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"d6451a62-d874-4d48-a29d-75046dde8542","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2951097} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa852d87-6e93-49f9-9146-fb49ac646a21","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2952673} 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":"ca42ffa686073d2743ed8448724b22c9"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"0f71dff2-c6a4-4f0e-91bb-73bc891a2200","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.2993343} authorization_1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca42ffa686073d2743ed8448724b22c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"ca42ffa686073d2743ed8448724b22c9","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca42ffa686073d2743ed8448724b22c9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f2f17583464120e8c59e4ee29d2e42c4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370363,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2f17583464120e8c59e4ee29d2e42c4"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"1483b81c-e748-4a84-80c6-530dbf902e9b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.7890391} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2f17583464120e8c59e4ee29d2e42c4"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ff017f3-97a5-49a7-bc9e-6e750c6ec6fd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.7953966} 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":"f2f17583464120e8c59e4ee29d2e42c4"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"85d304a8-4009-4441-9893-6e6c6dc59413","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132951.8220258} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2f17583464120e8c59e4ee29d2e42c4"},"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":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"f2f17583464120e8c59e4ee29d2e42c4"} device_1 | {"level":"info","message":"PATCH /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70 200 51ms","method":"PATCH","requestID":"f2f17583464120e8c59e4ee29d2e42c4","responseTime":51,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"069458a728e41b7e172a03027189cc1f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270526,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:51Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132951,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1MX0.mUC-VyX53Y9tCdQZNRx-iUNtg3TbkGJ9Ztz676VvP9o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069458a728e41b7e172a03027189cc1f"},"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":"14/Apr/2024:22:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"069458a728e41b7e172a03027189cc1f"} device_1 | {"level":"info","message":"POST /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/websocket 200 27ms","method":"POST","requestID":"069458a728e41b7e172a03027189cc1f","responseTime":27,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be9125f18903358c4e9dcc22400c759b","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/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":"be9125f18903358c4e9dcc22400c759b"} device_1 | {"level":"info","message":"OPTIONS /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/websocket 200 1ms","method":"OPTIONS","requestID":"be9125f18903358c4e9dcc22400c759b","responseTime":1,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7a4cea69d82afcb91a19adf47b4ed022","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.325625,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a4cea69d82afcb91a19adf47b4ed022"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f/websocket 200 27ms","method":"POST","requestID":"7a4cea69d82afcb91a19adf47b4ed022","responseTime":27,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a4cea69d82afcb91a19adf47b4ed022"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bb30ead80b18d835264442a6d710b8b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360546,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"6bb30ead80b18d835264442a6d710b8b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.251273638Z"}]},"request_id":"6610008f-1881-4dd4-aa14-025792b8c99c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.3816745} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bb30ead80b18d835264442a6d710b8b"},"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":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bb30ead80b18d835264442a6d710b8b"} device_1 | {"level":"info","message":"GET /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f? 200 19ms","method":"GET","requestID":"6bb30ead80b18d835264442a6d710b8b","responseTime":19,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a553e9b40b7b210c6139b4d5e69106a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299837,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"0a553e9b40b7b210c6139b4d5e69106a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"7972314d-3f4f-48cd-b7d4-27e01937fa44","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.4083748} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a553e9b40b7b210c6139b4d5e69106a"},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 200 18ms","method":"GET","requestID":"0a553e9b40b7b210c6139b4d5e69106a","responseTime":18,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 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":"0a553e9b40b7b210c6139b4d5e69106a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98f4ef63652a7d8182e0a482d5845072","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:35260","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.268394,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"98f4ef63652a7d8182e0a482d5845072"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"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:35260","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183412,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ef58cc0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270446,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"8ef5dae0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.251273638Z"}]},"request_id":"a397ea7c-2caa-4531-91a1-28ca9c6e0ee8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.498099} 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":"8ef58cc0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"72fbe0d2-27dc-4f41-a8c7-1d50ec47a994","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.5000093} 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":"8ef5dae0-faac-11ee-adee-eb1d2c4f6619"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f? 200 24ms","method":"GET","requestID":"8ef58cc0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 200 24ms","method":"GET","requestID":"8ef5dae0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"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:35260","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185393,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"8f0236f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115608,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"8f028510-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.951935,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be6e6589-dd78-4738-a530-57b2d0ee2060","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.5838616} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","rebac_allow":false,"scope_allow":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":"8f02fa40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.251273638Z"}]},"request_id":"9b05184b-1de2-4a50-8ee9-aa5eeb2be4a7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.5873106} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"99668411-49f3-4ac7-b309-f24c8fe70d8f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.5901327} 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":"8f0236f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} 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":"8f028510-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc38eca67-e0d5-4539-8807-d30bddd525a3#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc38eca67-e0d5-4539-8807-d30bddd525a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"44b9e9a0-8894-44f8-810f-bc7f26b57ef2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.5999322} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6fa09b3-00ec-4b6e-887f-237fea981394","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.6005433} device_1 | {"level":"info","message":"POST /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling 200 30ms","method":"POST","requestID":"8f02fa40-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling"} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98f4ef63652a7d8182e0a482d5845072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f? 200 38ms","method":"GET","requestID":"8f0236f0-faac-11ee-adee-eb1d2c4f6619","responseTime":38,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 200 39ms","method":"GET","requestID":"8f028510-faac-11ee-adee-eb1d2c4f6619","responseTime":39,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87a5edb2-e482-4899-9e4b-4a2992839db0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.612447} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.622106,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","rebac_allow":false,"scope_allow":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":"8f082a60-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f11cfa5a-781b-437c-8474-169b9ac11480","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.6222837} device_1 | {"level":"info","message":"POST /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling 200 17ms","method":"POST","requestID":"8f082a60-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.121853,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 200ms","method":"POST","requestID":"98f4ef63652a7d8182e0a482d5845072","responseTime":200,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","rebac_allow":false,"scope_allow":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":"8f0962e0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} gateway_1 | {"time_local":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98f4ef63652a7d8182e0a482d5845072"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling 200 16ms","method":"POST","requestID":"8f0962e0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b8db6d932fb5738e9cfae6357853645","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e663794-f5e7-4860-bee8-d87cb80b2cc0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.6373167} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129081,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"3b8db6d932fb5738e9cfae6357853645"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.471509,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","rebac_allow":false,"scope_allow":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":"8f0c2200-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.251273638Z"}]},"request_id":"ac201308-d069-495e-a558-b10478e93fcb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.6422613} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling 200 11ms","method":"POST","requestID":"8f0c2200-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/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":"3b8db6d932fb5738e9cfae6357853645"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"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":"d9a13af7-4e08-4e8c-a7bd-863329029463"},{"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":"3bd396cc-b6a5-4491-8059-68b20b4f176b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"13e4ca10-c4f4-4100-a28a-b40aee78f0b9"}]},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"},{"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/bdac2883-4876-4d4f-8be5-b09646be1e0f"}],"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/bdac2883-4876-4d4f-8be5-b09646be1e0f? 200 14ms","method":"GET","requestID":"3b8db6d932fb5738e9cfae6357853645","responseTime":14,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdac2883-4876-4d4f-8be5-b09646be1e0f? 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":"3b8db6d932fb5738e9cfae6357853645"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.05463,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"8f0e44e0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e49bb7fbc3bc61220f669b99a784c71","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66014,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132953,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1M30.8d2EeaAqRvbLpt2CF-sNcamoST8u5z8WBOg7_FCUisk"} 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":"5e49bb7fbc3bc61220f669b99a784c71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"186d11e9-0eab-4030-aa29-3cb438ff061b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.6621048} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"167e0594-45b2-4efb-a8aa-8b99f949e5c6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.662262} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:51.295093138Z"}]},"request_id":"ed40cd74-6a8c-46d8-a6a6-030adc304863","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.663108} 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":"8f0e44e0-faac-11ee-adee-eb1d2c4f6619"},"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":"5e49bb7fbc3bc61220f669b99a784c71"},"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":"14/Apr/2024:22:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 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":"5e49bb7fbc3bc61220f669b99a784c71"} device_1 | {"level":"info","message":"GET /devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70? 200 14ms","method":"GET","requestID":"5e49bb7fbc3bc61220f669b99a784c71","responseTime":14,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70?"} 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/eb618e7f-f374-4de6-ae48-47ac3efa738b'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b'"} 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":"8f0e44e0-faac-11ee-adee-eb1d2c4f6619","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/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7399a478-24cd-438e-9704-20252a84ee99","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.7243013} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.223802,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","rebac_allow":false,"scope_allow":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":"8f198f80-faac-11ee-adee-eb1d2c4f6619"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling 200 9ms","method":"POST","requestID":"8f198f80-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"779d8e31-74d7-4a59-aac1-5c19c545079e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132953.7350347} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.306526,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","rebac_allow":false,"scope_allow":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":"8f1b3d30-faac-11ee-adee-eb1d2c4f6619"},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling 200 8ms","method":"POST","requestID":"8f1b3d30-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","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/eb618e7f-f374-4de6-ae48-47ac3efa738b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1955851733e08ea7a2fe7ca0fa9e1215","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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"},{"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/bdac2883-4876-4d4f-8be5-b09646be1e0f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"1955851733e08ea7a2fe7ca0fa9e1215","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"1955851733e08ea7a2fe7ca0fa9e1215"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","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/eb618e7f-f374-4de6-ae48-47ac3efa738b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aa9680622f5ce8cfd3cdc73d39614c1b","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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"},{"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/bdac2883-4876-4d4f-8be5-b09646be1e0f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb618e7f-f374-4de6-ae48-47ac3efa738b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58eb6389-a63c-4eab-bb4f-c84fe971098e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132954.8222404} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.831272,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b","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":"8fc0f310-faac-11ee-adee-eb1d2c4f6619"},"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/eb618e7f-f374-4de6-ae48-47ac3efa738b 200 11ms","method":"GET","requestID":"8fc0f310-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"aa9680622f5ce8cfd3cdc73d39614c1b","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"aa9680622f5ce8cfd3cdc73d39614c1b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f544f93-3dfb-4f9a-b41f-baf4e3da3b0c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132954.8529456} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.559468,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","rebac_allow":false,"scope_allow":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":"8fc586f0-faac-11ee-adee-eb1d2c4f6619"},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling 200 13ms","method":"POST","requestID":"8fc586f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"779dcfb9-5ace-4ae7-b203-0fafa6849f55","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132954.867847} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.272059,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","rebac_allow":false,"scope_allow":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":"8fc7d0e0-faac-11ee-adee-eb1d2c4f6619"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling 200 12ms","method":"POST","requestID":"8fc7d0e0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NH0.HgtbvpofHpf41VokC1RbD-X6lx_u3Z5jvzjAIcjBa5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9555c0dcc71f71be25e6c381b827a972","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185892,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132954,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NH0.HgtbvpofHpf41VokC1RbD-X6lx_u3Z5jvzjAIcjBa5o"} 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":"9555c0dcc71f71be25e6c381b827a972"},"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/c38eca67-e0d5-4539-8807-d30bddd525a3"} experiment_1 | {"level":"info","message":"GET /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3 200 15ms","method":"GET","requestID":"9555c0dcc71f71be25e6c381b827a972","responseTime":15,"status":200,"url":"/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"} gateway_1 | {"time_local":"14/Apr/2024:22:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9555c0dcc71f71be25e6c381b827a972"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NH0.HgtbvpofHpf41VokC1RbD-X6lx_u3Z5jvzjAIcjBa5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07a9d5371a260a407cc2913e96c7ff95","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.234331,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132954,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NH0.HgtbvpofHpf41VokC1RbD-X6lx_u3Z5jvzjAIcjBa5o"} 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":"07a9d5371a260a407cc2913e96c7ff95"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.09564,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:54Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132954,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NH0.HgtbvpofHpf41VokC1RbD-X6lx_u3Z5jvzjAIcjBa5o"} 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":"8fd34290-faac-11ee-adee-eb1d2c4f6619"},"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/eb618e7f-f374-4de6-ae48-47ac3efa738b' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb618e7f-f374-4de6-ae48-47ac3efa738b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb618e7f-f374-4de6-ae48-47ac3efa738b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"15ea27d8-538b-4720-8e8a-61f7928943bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132954.9626381} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46f3cd205a44b000aef5f65bd0f0f162","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16d12e65-ae67-450d-ace3-7ae7bc2d3ed2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132954.9633236} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"},{"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/bdac2883-4876-4d4f-8be5-b09646be1e0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d630610fb6088042f2d37db89b1cf300","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fd34290-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70"},{"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/bdac2883-4876-4d4f-8be5-b09646be1e0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"eb618e7f-f374-4de6-ae48-47ac3efa738b","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/eb618e7f-f374-4de6-ae48-47ac3efa738b 204 58ms","method":"DELETE","requestID":"8fd34290-faac-11ee-adee-eb1d2c4f6619","responseTime":58,"status":204,"url":"/peerconnections/eb618e7f-f374-4de6-ae48-47ac3efa738b"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fd310be-e9b2-4dad-bd6c-c32484ec2695","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.0292866} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.199321,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70","object_type":"device","rebac_allow":false,"scope_allow":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":"8fe03ae0-faac-11ee-adee-eb1d2c4f6619"},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling 200 15ms","method":"POST","requestID":"8fe03ae0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc38eca67-e0d5-4539-8807-d30bddd525a3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc38eca67-e0d5-4539-8807-d30bddd525a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"4db92a7e-f99f-409e-a7e2-335d0468ba56","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.0385983} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8673ba5-13e6-42bf-a740-24781a427701","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.039005} 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":"07a9d5371a260a407cc2913e96c7ff95"},"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:35260","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdac2883-4876-4d4f-8be5-b09646be1e0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba5c80e9-6e56-46cb-a33a-5b754aac298f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.0476196} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.083399,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f","object_type":"device","rebac_allow":false,"scope_allow":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":"8fe32110-faac-11ee-adee-eb1d2c4f6619"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling 200 13ms","method":"POST","requestID":"8fe32110-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/bdac2883-4876-4d4f-8be5-b09646be1e0f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3 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":"07a9d5371a260a407cc2913e96c7ff95"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2396","request_time":"3.244","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"af0d15482186ac036a3e9bfd009ca1a4"} experiment_1 | {"level":"info","message":"DELETE /experiments/c38eca67-e0d5-4539-8807-d30bddd525a3 204 185ms","method":"DELETE","requestID":"07a9d5371a260a407cc2913e96c7ff95","responseTime":185,"status":204,"url":"/experiments/c38eca67-e0d5-4539-8807-d30bddd525a3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"46f3cd205a44b000aef5f65bd0f0f162","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"46f3cd205a44b000aef5f65bd0f0f162"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"d630610fb6088042f2d37db89b1cf300","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"d630610fb6088042f2d37db89b1cf300"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"86b0b313c8a2f65bdcfaacd28f73ab91","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +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.773","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3f8c980b478cf724c959136aada5d263"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.038686,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132955,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y"} 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":"86b0b313c8a2f65bdcfaacd28f73ab91"},"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/1d9af4a2-3c42-4ea9-85f9-12ef2d5cbf70' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7f966db1-52a2-4b04-9d19-c95e1e43b027","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.1652803} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86b0b313c8a2f65bdcfaacd28f73ab91"},"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/bdac2883-4876-4d4f-8be5-b09646be1e0f' 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cedbf617-b1ce-49f1-9748-f9859531f861","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.1709633} 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":"86b0b313c8a2f65bdcfaacd28f73ab91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"66ebbb05-554c-48cb-9762-7fd6aac08c1c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.1801186} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17130a8a-cc0a-46f4-9093-51c47c59afe9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.1804864} 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":"86b0b313c8a2f65bdcfaacd28f73ab91"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"7ab77979-740f-44e5-9658-3ff35f53cc6d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.185198} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86b0b313c8a2f65bdcfaacd28f73ab91"},"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 71ms","method":"POST","requestID":"86b0b313c8a2f65bdcfaacd28f73ab91","responseTime":71,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86b0b313c8a2f65bdcfaacd28f73ab91"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8731279569b1df4656f5d15e4e34048e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.76784,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132955,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y"} 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":"8731279569b1df4656f5d15e4e34048e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"33fb596f-9361-4f6f-a55c-254a40b9202f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.2082043} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8731279569b1df4656f5d15e4e34048e"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d792c2b5-3154-44f2-b71c-52335f9c9d82","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.2141125} 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":"8731279569b1df4656f5d15e4e34048e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"113bc622-ffe5-4434-8059-24f77c05b1bb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.2287378} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c283ac9-024f-4d93-8aed-50f5c7e88a18","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.228929} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8731279569b1df4656f5d15e4e34048e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.228712070Z"}]},"request_id":"78ca1491-f9d6-4c77-8d61-9e1909434e34","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.2327769} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8731279569b1df4656f5d15e4e34048e"},"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":"8731279569b1df4656f5d15e4e34048e","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8731279569b1df4656f5d15e4e34048e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45fd66e29f52b8982bf5783b2bbbef43","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.039525,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132955,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd66e29f52b8982bf5783b2bbbef43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"022786f4-87d0-48c9-996b-1254044b7ef0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.715209} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd66e29f52b8982bf5783b2bbbef43"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a47aa268-c7c0-48c7-a970-b42cb6c1f612","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.721518} 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":"45fd66e29f52b8982bf5783b2bbbef43"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"13d8bacd-68a0-43e9-b8a6-007e76178f7d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132955.7488115} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45fd66e29f52b8982bf5783b2bbbef43"},"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":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"45fd66e29f52b8982bf5783b2bbbef43"} device_1 | {"level":"info","message":"PATCH /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898 200 49ms","method":"PATCH","requestID":"45fd66e29f52b8982bf5783b2bbbef43","responseTime":49,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e14ce768c9d0263eda0441345be428c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938201,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:55Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132955,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1NX0.yPL1OIJpJXIi2WKSAX1n3P3Rw4E2HcV5g6PA2VUSf0Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e14ce768c9d0263eda0441345be428c"},"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/websocket 200 22ms","method":"POST","requestID":"2e14ce768c9d0263eda0441345be428c","responseTime":22,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/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.4","requestID":"2e14ce768c9d0263eda0441345be428c"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1640882757b488ccf79fdd7b8e21e130","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/e18991e7-2365-4c6a-a3a4-e832122dd109/websocket 200 1ms","method":"OPTIONS","requestID":"1640882757b488ccf79fdd7b8e21e130","responseTime":1,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e18991e7-2365-4c6a-a3a4-e832122dd109/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":"1640882757b488ccf79fdd7b8e21e130"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a4974bb8f8e0aa5cdb121f5894286f94","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.177996,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4974bb8f8e0aa5cdb121f5894286f94"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109/websocket 200 26ms","method":"POST","requestID":"a4974bb8f8e0aa5cdb121f5894286f94","responseTime":26,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e18991e7-2365-4c6a-a3a4-e832122dd109/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":"a4974bb8f8e0aa5cdb121f5894286f94"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e68323a4e4a07022814e8f7a8ba6774d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313054,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e68323a4e4a07022814e8f7a8ba6774d"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"a93102c7-b8cc-462f-bb0a-7d4f9a4865ae","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.3279557} 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":"e68323a4e4a07022814e8f7a8ba6774d"},"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":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 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":"e68323a4e4a07022814e8f7a8ba6774d"} device_1 | {"level":"info","message":"GET /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 200 20ms","method":"GET","requestID":"e68323a4e4a07022814e8f7a8ba6774d","responseTime":20,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a197f0978d257544638d2f36faaddcc2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252008,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a197f0978d257544638d2f36faaddcc2"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.228712070Z"}]},"request_id":"fc596458-58b1-4f6a-8732-f845eba5e004","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.356471} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a197f0978d257544638d2f36faaddcc2"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109? 200 20ms","method":"GET","requestID":"a197f0978d257544638d2f36faaddcc2","responseTime":20,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e18991e7-2365-4c6a-a3a4-e832122dd109? 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":"a197f0978d257544638d2f36faaddcc2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7fc20ebb5c0ba021b67bea7d5538649","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:35260","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.368051,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"f7fc20ebb5c0ba021b67bea7d5538649"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"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:35260","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278126,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"914f5b40-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229692,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"914fa960-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"d01a46c9-fce8-4606-994e-9363440d94f0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.4412675} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"914f5b40-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.228712070Z"}]},"request_id":"746fc1e4-f7da-443b-9cb3-c997f75c3fef","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.4429233} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"914fa960-faac-11ee-adee-eb1d2c4f6619"},"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 200 23ms","method":"GET","requestID":"914f5b40-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e18991e7-2365-4c6a-a3a4-e832122dd109? 200 23ms","method":"GET","requestID":"914fa960-faac-11ee-adee-eb1d2c4f6619","responseTime":23,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"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:35260","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.676979,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"915c5390-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457956,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"915ca1b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:59224","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.721417,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"112109ec-ff5c-4188-8ad3-d8da605f32cc","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5253596} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","rebac_allow":false,"scope_allow":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":"915d16e0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"e5c5f35d-2249-4b65-9899-5d12ec72e7cd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5323095} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling 200 16ms","method":"POST","requestID":"915d16e0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/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":"915c5390-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.228712070Z"}]},"request_id":"46500eeb-1e8a-4dd7-8eb4-4300f7a7b4ff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5341275} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"915ca1b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd92a1b5d-da6e-4955-bc5f-d126668dad4c#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd92a1b5d-da6e-4955-bc5f-d126668dad4c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"12b1fabc-d010-47a4-9caa-0b1967848a28","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5419722} device_1 | {"level":"info","message":"GET /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 200 30ms","method":"GET","requestID":"915c5390-faac-11ee-adee-eb1d2c4f6619","responseTime":30,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02f9377f-0a38-41e2-ad47-aa20a2608e1e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.542213} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e18991e7-2365-4c6a-a3a4-e832122dd109? 200 29ms","method":"GET","requestID":"915ca1b0-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109?"} 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":"f7fc20ebb5c0ba021b67bea7d5538649"},"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:35260","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72a68ce9-59e3-450c-a896-d4777ce3464c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5458117} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.832243,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","rebac_allow":false,"scope_allow":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":"91604b30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling 200 12ms","method":"POST","requestID":"91604b30-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45796956-bcf2-4d18-95a9-23ec974b0850","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5514116} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.880555,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","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/d92a1b5d-da6e-4955-bc5f-d126668dad4c","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91615ca0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"f7fc20ebb5c0ba021b67bea7d5538649","responseTime":182,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7fc20ebb5c0ba021b67bea7d5538649"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling 200 12ms","method":"POST","requestID":"91615ca0-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e7f60c6775919558eac1ea7826eb967","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"263ffc79-dfb8-4aea-a6b4-aaac89315357","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5650547} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011313,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"3e7f60c6775919558eac1ea7826eb967"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607906,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","rebac_allow":false,"scope_allow":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":"91637f80-faac-11ee-adee-eb1d2c4f6619"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling 200 11ms","method":"POST","requestID":"91637f80-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"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":"67cb4cfe-acb2-4ada-8aaf-77ac76501c8e"},{"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":"d2e97982-d3fc-43c4-b9ad-d1c89828d20c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6e2a2b5d-4494-4516-8fd7-ba5fe673357e"}]},"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/e18991e7-2365-4c6a-a3a4-e832122dd109"},{"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"}],"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.180097918Z"}]},"request_id":"b320aa35-ca1f-424b-97de-db2be74cd2a2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5700886} device_1 | {"level":"info","message":"postPeerconnections 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":"3e7f60c6775919558eac1ea7826eb967"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.778134,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"9165a260-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 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":"3e7f60c6775919558eac1ea7826eb967"} device_1 | {"level":"info","message":"GET /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898? 200 19ms","method":"GET","requestID":"3e7f60c6775919558eac1ea7826eb967","responseTime":19,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dc0631a84136281e8ee43c38d7379b1f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893254,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0631a84136281e8ee43c38d7379b1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"6ccfa723-2730-4aeb-9d4f-c60639bef472","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5900745} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3bfb05ab-9544-40d6-aba7-c81e33b0bdca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.590428} 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":"9165a260-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:55.228712070Z"}]},"request_id":"db3103e1-6c0d-4f41-8ea4-a377b379d9e1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.5944462} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0631a84136281e8ee43c38d7379b1f"},"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/e3c3af2d-b4ee-466c-93e3-c400f290dbe2'"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e18991e7-2365-4c6a-a3a4-e832122dd109? 200 27ms","method":"GET","requestID":"dc0631a84136281e8ee43c38d7379b1f","responseTime":27,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109?"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e18991e7-2365-4c6a-a3a4-e832122dd109? 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":"dc0631a84136281e8ee43c38d7379b1f"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2'"} 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":"9165a260-faac-11ee-adee-eb1d2c4f6619","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"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee623749-b6d1-4360-8dda-cf619b0894a6","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.6477869} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65579,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","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":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} 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":"917029b0-faac-11ee-adee-eb1d2c4f6619"},"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:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"511983dc547860b4767094635b13122b","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/e18991e7-2365-4c6a-a3a4-e832122dd109"},{"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"511983dc547860b4767094635b13122b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"511983dc547860b4767094635b13122b","responseTime":6,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"POST /devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling 200 16ms","method":"POST","requestID":"917029b0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a20123a6-b96d-48da-8597-42eb50099672","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.6753843} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201621,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","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":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} 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":"91744860-faac-11ee-adee-eb1d2c4f6619"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling 200 10ms","method":"POST","requestID":"91744860-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","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/e3c3af2d-b4ee-466c-93e3-c400f290dbe2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"867afd0a8dccfae4b10b040a29096a98","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/e18991e7-2365-4c6a-a3a4-e832122dd109"},{"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c3af2d-b4ee-466c-93e3-c400f290dbe2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7335085-f604-4745-a98f-941a8816700d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.7230344} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.162216,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2","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":"917bc270-faac-11ee-adee-eb1d2c4f6619"},"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/e3c3af2d-b4ee-466c-93e3-c400f290dbe2 200 8ms","method":"GET","requestID":"917bc270-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"867afd0a8dccfae4b10b040a29096a98","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"867afd0a8dccfae4b10b040a29096a98"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35eb7d7f-be5c-4277-8af1-e188453f9956","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.7478716} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.094357,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","rebac_allow":false,"scope_allow":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":"917f9300-faac-11ee-adee-eb1d2c4f6619"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling 200 8ms","method":"POST","requestID":"917f9300-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad3dc69e-9b8f-4f06-9ef6-c994c418b0c0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.7584286} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.98956,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","rebac_allow":false,"scope_allow":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":"918119a0-faac-11ee-adee-eb1d2c4f6619"},"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling 200 8ms","method":"POST","requestID":"918119a0-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b37ae209fe05cd1fe2a30b64a03a647f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.756547,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b37ae209fe05cd1fe2a30b64a03a647f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b37ae209fe05cd1fe2a30b64a03a647f"} experiment_1 | {"level":"info","message":"GET /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c 200 10ms","method":"GET","requestID":"b37ae209fe05cd1fe2a30b64a03a647f","responseTime":10,"status":200,"url":"/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4463b35b9de4c1a48fdf39a1e299a0cc","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.686725,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"4463b35b9de4c1a48fdf39a1e299a0cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.753056,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"918efc50-faac-11ee-adee-eb1d2c4f6619"},"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/e3c3af2d-b4ee-466c-93e3-c400f290dbe2' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c3af2d-b4ee-466c-93e3-c400f290dbe2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c3af2d-b4ee-466c-93e3-c400f290dbe2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"47ac95d9-f5b8-4fad-b3b0-758374868119","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.862143} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"01cfba9fa2818b9944ccbdb7a853312e","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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44db1a38-7f74-4bd3-852c-29d1ea08abf9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.862507} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"918efc50-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54035d773479b48e47e30586474494cb","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/e18991e7-2365-4c6a-a3a4-e832122dd109"},{"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"}}},"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":"connected","url":"http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109"},{"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"e3c3af2d-b4ee-466c-93e3-c400f290dbe2","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/e3c3af2d-b4ee-466c-93e3-c400f290dbe2 204 41ms","method":"DELETE","requestID":"918efc50-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":204,"url":"/peerconnections/e3c3af2d-b4ee-466c-93e3-c400f290dbe2"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe18991e7-2365-4c6a-a3a4-e832122dd109","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2230866a-d1df-4e53-95ae-bdb2bc705406","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.909222} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.759815,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e18991e7-2365-4c6a-a3a4-e832122dd109","object_type":"device","rebac_allow":false,"scope_allow":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":"9197fd00-faac-11ee-adee-eb1d2c4f6619"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling 200 10ms","method":"POST","requestID":"9197fd00-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/e18991e7-2365-4c6a-a3a4-e832122dd109/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd92a1b5d-da6e-4955-bc5f-d126668dad4c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd92a1b5d-da6e-4955-bc5f-d126668dad4c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"201e48e8-7c9c-4d7b-b1eb-dabd977eb1a9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.9194617} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4db4c5d5-7274-4f8b-a3f4-77644862dc0c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.9196465} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} 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":"4463b35b9de4c1a48fdf39a1e299a0cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4af3e99-2ac3-4dc9-aeb5-2e3c95758898","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c49acb1-04c7-486a-8ed1-1b1ce2fbc32e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132957.921738} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304636,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898","object_type":"device","rebac_allow":false,"scope_allow":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":"9199f8d0-faac-11ee-adee-eb1d2c4f6619"},"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/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling 200 10ms","method":"POST","requestID":"9199f8d0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4463b35b9de4c1a48fdf39a1e299a0cc"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +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.200","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"063eb491ededdc635f9ff62221106bf5"} experiment_1 | {"level":"info","message":"DELETE /experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c 204 153ms","method":"DELETE","requestID":"4463b35b9de4c1a48fdf39a1e299a0cc","responseTime":153,"status":204,"url":"/experiments/d92a1b5d-da6e-4955-bc5f-d126668dad4c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"01cfba9fa2818b9944ccbdb7a853312e","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"01cfba9fa2818b9944ccbdb7a853312e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"54035d773479b48e47e30586474494cb","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"54035d773479b48e47e30586474494cb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"98d16f37e745efdb341d8add2915853f","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:15:57 +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.700","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"966764519eb77a48f328766cc65d4546"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4af3e99-2ac3-4dc9-aeb5-2e3c95758898' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:57Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.815837,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132957,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1N30.B3txWAwZDvsUMoHKJx9yqPSu0DD1wQhZ31D_SkplINM"} 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":"98d16f37e745efdb341d8add2915853f"},"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/e18991e7-2365-4c6a-a3a4-e832122dd109' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"894d99f4-e9f9-40b3-8495-7f76e37c3b84","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0171678} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98d16f37e745efdb341d8add2915853f"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91ae5308-bd19-494c-9741-d82f685da181","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0220237} 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":"98d16f37e745efdb341d8add2915853f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"cddd8a99-8f12-4f56-b555-7bd737f0ff06","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.035277} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6953a84-4291-443e-9cb8-16488a6094d5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0355802} 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":"98d16f37e745efdb341d8add2915853f"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"382f3923-9c16-46bc-8f7f-96c6ee174292","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0403926} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98d16f37e745efdb341d8add2915853f"},"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":"98d16f37e745efdb341d8add2915853f","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98d16f37e745efdb341d8add2915853f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2de4869a1627ddd8973b236857be91ba","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.886032,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132958,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0"} 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":"2de4869a1627ddd8973b236857be91ba"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c42fa120-1efb-4ba6-8440-abcbb284662f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.064016} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de4869a1627ddd8973b236857be91ba"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"572abea2-72d9-4d28-8c3b-4bceaf91a632","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0689127} 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":"2de4869a1627ddd8973b236857be91ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"c288597a-01a6-4a81-93f1-9c092871c542","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0777721} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5928732-7836-40f8-8c6d-3a736363d7c3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0779283} 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":"2de4869a1627ddd8973b236857be91ba"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.077742169Z"}]},"request_id":"693970ae-ba8d-44bf-bc2b-eb2f8be9ed67","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.0817888} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de4869a1627ddd8973b236857be91ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"2de4869a1627ddd8973b236857be91ba","responseTime":34,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:15: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2de4869a1627ddd8973b236857be91ba"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"adfb3c0bdb00306b9a96ce401b813bee","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.574328,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132958,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adfb3c0bdb00306b9a96ce401b813bee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"7c1ab82f-0453-431a-b2aa-5fe8c065e0d7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.5638628} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adfb3c0bdb00306b9a96ce401b813bee"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"303baab7-af4c-48f8-a1cc-091e571a53cb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.5715072} 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":"adfb3c0bdb00306b9a96ce401b813bee"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"865a6447-8520-4f8c-9eef-38d5524922d2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132958.594215} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adfb3c0bdb00306b9a96ce401b813bee"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d 200 48ms","method":"PATCH","requestID":"adfb3c0bdb00306b9a96ce401b813bee","responseTime":48,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"} gateway_1 | {"time_local":"14/Apr/2024:22:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"adfb3c0bdb00306b9a96ce401b813bee"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca779c4542135b110f5af0e87cf11edf","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311826,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:15:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132958,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk1OH0.BRQsyspvp-8Xw-spPV5CN5aUJw-RwjIWjAy2tDu0-r0"} 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":"ca779c4542135b110f5af0e87cf11edf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"ca779c4542135b110f5af0e87cf11edf"} device_1 | {"level":"info","message":"POST /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/websocket 200 28ms","method":"POST","requestID":"ca779c4542135b110f5af0e87cf11edf","responseTime":28,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb536df70f86ca1ec94860ccc26019df","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/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":"bb536df70f86ca1ec94860ccc26019df"} device_1 | {"level":"info","message":"OPTIONS /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/websocket 200 1ms","method":"OPTIONS","requestID":"bb536df70f86ca1ec94860ccc26019df","responseTime":1,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"60bafd1d9f6d227b5fbe4104ef60a5c8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227768,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60bafd1d9f6d227b5fbe4104ef60a5c8"},"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/e9184614-ecd3-43d4-b6ad-183b8fea794f/websocket 200 23ms","method":"POST","requestID":"60bafd1d9f6d227b5fbe4104ef60a5c8","responseTime":23,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/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":"60bafd1d9f6d227b5fbe4104ef60a5c8"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe43a59473373c3992b4a817772cd2c1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845506,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe43a59473373c3992b4a817772cd2c1"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"f0d9d327-773f-458e-8782-c6774dfe4b57","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.1724224} 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":"fe43a59473373c3992b4a817772cd2c1"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 200 20ms","method":"GET","requestID":"fe43a59473373c3992b4a817772cd2c1","responseTime":20,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 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":"fe43a59473373c3992b4a817772cd2c1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d66c33de7e6a4a69a0c2e8eadf37ab7a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178182,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d66c33de7e6a4a69a0c2e8eadf37ab7a"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.077742169Z"}]},"request_id":"b905b985-3c20-46f0-b49e-8b1f3bb2909b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.2001565} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d66c33de7e6a4a69a0c2e8eadf37ab7a"},"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":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 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":"d66c33de7e6a4a69a0c2e8eadf37ab7a"} device_1 | {"level":"info","message":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 200 19ms","method":"GET","requestID":"d66c33de7e6a4a69a0c2e8eadf37ab7a","responseTime":19,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6c5632bf86369c102f293b69a9c92fe8","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:35260","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.823584,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} 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":"6c5632bf86369c102f293b69a9c92fe8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"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:35260","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106647,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9301c630-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.788019,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9301ed40-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"77419d7e-5a65-44fb-80f9-ee70c3e2412a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.2864745} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9301c630-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.077742169Z"}]},"request_id":"77247fbc-8246-4a5f-9478-079e9907343e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.2884157} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9301ed40-faac-11ee-adee-eb1d2c4f6619"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 200 18ms","method":"GET","requestID":"9301c630-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 200 17ms","method":"GET","requestID":"9301ed40-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"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/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735731,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"930d5ef0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266698,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} 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":"930d8600-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.512028,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"388c4914-90ce-440a-8cb8-2ecff4fdf5b8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.361266} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","rebac_allow":false,"scope_allow":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":"930dad10-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"0a79ca28-317d-4968-83aa-6215cc9adf6f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.3650308} 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":"930d5ef0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.077742169Z"}]},"request_id":"7b2ca0d0-2103-406c-97e0-3202fe76fa4c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.3693292} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"930d8600-faac-11ee-adee-eb1d2c4f6619"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling 200 19ms","method":"POST","requestID":"930dad10-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0e7f9b58-a632-4ead-a9f9-f14f71e09605#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0e7f9b58-a632-4ead-a9f9-f14f71e09605","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"20d2b47a-c073-4ef1-a08a-97be65f6f174","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.376227} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a40abd73-0e77-45be-8e7a-964aebd7f43b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.3765774} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c5632bf86369c102f293b69a9c92fe8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"GET /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 200 28ms","method":"GET","requestID":"930d5ef0-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 200 28ms","method":"GET","requestID":"930d8600-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f?"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5573afec-2775-41a4-ba2c-6db7c3937e40","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.382757} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.687454,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","rebac_allow":false,"scope_allow":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":"93115690-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"6c5632bf86369c102f293b69a9c92fe8","responseTime":176,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling 200 14ms","method":"POST","requestID":"93115690-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} gateway_1 | {"time_local":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c5632bf86369c102f293b69a9c92fe8"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90e810cb-b5e4-4252-a972-df8486c28819","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.392937} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.719585,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","rebac_allow":false,"scope_allow":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":"9312dd30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f179024594432c38f71b64341624e700","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling 200 12ms","method":"POST","requestID":"9312dd30-faac-11ee-adee-eb1d2c4f6619","responseTime":12,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141838,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f179024594432c38f71b64341624e700"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.035254655Z"}]},"request_id":"8e9346c8-1d69-4133-9684-e258986024cf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.4060893} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a86d3db-ea81-4530-9e44-6500b115c22f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.4062188} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f179024594432c38f71b64341624e700"},"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:35260","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.494275,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","rebac_allow":false,"scope_allow":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":"93152720-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 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":"f179024594432c38f71b64341624e700"} device_1 | {"level":"info","message":"GET /devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d? 200 14ms","method":"GET","requestID":"f179024594432c38f71b64341624e700","responseTime":14,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling 200 10ms","method":"POST","requestID":"93152720-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"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":"4de4fbd8-3381-47ea-b929-250ff338af10"},{"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":"cf16668d-e389-4feb-a390-83ae6fbb4aa9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"52f2e6a6-ae2b-483a-81b7-c563c756d0ae"}]},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"},{"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/e9184614-ecd3-43d4-b6ad-183b8fea794f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e2b586a77c77d29cf2e17b2ad62a3ee1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.894822,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} 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":"931722f0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755673,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132960,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MH0.IwMO1AWTF4-wV2y9v7-Db7AOvIRndWicrSOYyrkqmzE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2b586a77c77d29cf2e17b2ad62a3ee1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:15:58.077742169Z"}]},"request_id":"cb4f5855-81e4-42c6-adc9-6003f3806206","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.4254103} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2b586a77c77d29cf2e17b2ad62a3ee1"},"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":"14/Apr/2024:22:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 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":"e2b586a77c77d29cf2e17b2ad62a3ee1"} device_1 | {"level":"info","message":"GET /devices/e9184614-ecd3-43d4-b6ad-183b8fea794f? 200 13ms","method":"GET","requestID":"e2b586a77c77d29cf2e17b2ad62a3ee1","responseTime":13,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5ba9ef21-cb37-4f9c-a859-087e2990a7c0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.4338706} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8af713a-5b5b-46ee-916c-553e3c18a9a4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.4340436} 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":"931722f0-faac-11ee-adee-eb1d2c4f6619"},"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/a4cc166b-fccc-4f2f-be23-5aab10283a50'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50'"} 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":"931722f0-faac-11ee-adee-eb1d2c4f6619","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/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fe8ab5e-96e8-4c67-a6fd-3277d6bb1463","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.5014431} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.964829,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","rebac_allow":false,"scope_allow":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":"93237f00-faac-11ee-adee-eb1d2c4f6619"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling 200 10ms","method":"POST","requestID":"93237f00-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2537a882-d4a6-4215-9c81-1896a7d86923","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132960.5131626} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.466975,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","rebac_allow":false,"scope_allow":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":"93257ad0-faac-11ee-adee-eb1d2c4f6619"},"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/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling 200 9ms","method":"POST","requestID":"93257ad0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","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/a4cc166b-fccc-4f2f-be23-5aab10283a50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e9083e969786c2a255fca664d40c33ad","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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"},{"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/e9184614-ecd3-43d4-b6ad-183b8fea794f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"e9083e969786c2a255fca664d40c33ad","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"e9083e969786c2a255fca664d40c33ad"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","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/a4cc166b-fccc-4f2f-be23-5aab10283a50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"57139e5aa3e5a312e4ad94a218307d40","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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"},{"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/e9184614-ecd3-43d4-b6ad-183b8fea794f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4cc166b-fccc-4f2f-be23-5aab10283a50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce191192-d60a-4d9a-aa33-5895a4b97834","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.5998871} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.87549,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50","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":"93cae290-faac-11ee-adee-eb1d2c4f6619"},"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/a4cc166b-fccc-4f2f-be23-5aab10283a50 200 14ms","method":"GET","requestID":"93cae290-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"57139e5aa3e5a312e4ad94a218307d40","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"57139e5aa3e5a312e4ad94a218307d40"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85901822-33f3-4d8e-b9c3-5badb7ecca51","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.6391604} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.630922,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","rebac_allow":false,"scope_allow":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":"93d0d600-faac-11ee-adee-eb1d2c4f6619"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling 200 14ms","method":"POST","requestID":"93d0d600-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a46f1635-4f6a-4b1c-ad97-41242145e965","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.6563756} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.924065,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","rebac_allow":false,"scope_allow":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":"93d36e10-faac-11ee-adee-eb1d2c4f6619"},"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/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling 200 14ms","method":"POST","requestID":"93d36e10-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c70170ab08ebab9a20bbe0ae804badc9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.380897,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132961,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158"} 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":"c70170ab08ebab9a20bbe0ae804badc9"},"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/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} experiment_1 | {"level":"info","message":"GET /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605 200 17ms","method":"GET","requestID":"c70170ab08ebab9a20bbe0ae804badc9","responseTime":17,"status":200,"url":"/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605 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":"c70170ab08ebab9a20bbe0ae804badc9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d3396f80aa39e19d8178c47a713a2ef3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.343342,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132961,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158"} 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":"d3396f80aa39e19d8178c47a713a2ef3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.223782,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132961,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158"} 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":"93ddce50-faac-11ee-adee-eb1d2c4f6619"},"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/a4cc166b-fccc-4f2f-be23-5aab10283a50' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69e582cb75353d295caa4dbfb779e46e","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"},{"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/e9184614-ecd3-43d4-b6ad-183b8fea794f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4cc166b-fccc-4f2f-be23-5aab10283a50': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4cc166b-fccc-4f2f-be23-5aab10283a50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"088b90c8-6101-4de2-a269-1efb1f651ea3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.7459288} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d60ab1c7-5390-40e4-90ee-1d29b2b1581e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.7464712} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f95dc3ecc4fb806a35dfc4de1bc99226","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d"},{"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/e9184614-ecd3-43d4-b6ad-183b8fea794f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93ddce50-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"a4cc166b-fccc-4f2f-be23-5aab10283a50","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/a4cc166b-fccc-4f2f-be23-5aab10283a50 204 61ms","method":"DELETE","requestID":"93ddce50-faac-11ee-adee-eb1d2c4f6619","responseTime":61,"status":204,"url":"/peerconnections/a4cc166b-fccc-4f2f-be23-5aab10283a50"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7979d504-a06c-4255-ae9e-dbbdc2dfa62d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9da19aa0-386f-435c-b8e0-479683fed5aa","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.807651} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.362138,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d","object_type":"device","rebac_allow":false,"scope_allow":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":"93ea7880-faac-11ee-adee-eb1d2c4f6619"},"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/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling 200 16ms","method":"POST","requestID":"93ea7880-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0e7f9b58-a632-4ead-a9f9-f14f71e09605': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0e7f9b58-a632-4ead-a9f9-f14f71e09605","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"647c5627-096f-4de3-9b6f-c4264d33a2ca","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.818835} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09cb246e-88e1-4a59-a22d-f3733a693340","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.8192255} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3396f80aa39e19d8178c47a713a2ef3"},"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:35260","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9184614-ecd3-43d4-b6ad-183b8fea794f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f0dd963-9559-434a-8d6f-cd63ff5ac1b5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.8275185} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.060782,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f","object_type":"device","rebac_allow":false,"scope_allow":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":"93ed5eb0-faac-11ee-adee-eb1d2c4f6619"},"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/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling 200 16ms","method":"POST","requestID":"93ed5eb0-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/e9184614-ecd3-43d4-b6ad-183b8fea794f/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605 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":"d3396f80aa39e19d8178c47a713a2ef3"} experiment_1 | {"level":"info","message":"DELETE /experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605 204 188ms","method":"DELETE","requestID":"d3396f80aa39e19d8178c47a713a2ef3","responseTime":188,"status":204,"url":"/experiments/0e7f9b58-a632-4ead-a9f9-f14f71e09605"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2399","request_time":"3.252","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"556629ff8ce17cb29910900c7d6e4237"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"69e582cb75353d295caa4dbfb779e46e","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"69e582cb75353d295caa4dbfb779e46e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"f95dc3ecc4fb806a35dfc4de1bc99226","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"f95dc3ecc4fb806a35dfc4de1bc99226"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"52b67395d549e1c0b096b875ff98519e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +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.760","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"235df8789c29f3f6071b3bc86fa0daf4"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.91393,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7979d504-a06c-4255-ae9e-dbbdc2dfa62d' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132961,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158"} 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":"52b67395d549e1c0b096b875ff98519e"},"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/e9184614-ecd3-43d4-b6ad-183b8fea794f' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"076d100c-3803-4e97-890e-0d49b7d4c58e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9123852} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52b67395d549e1c0b096b875ff98519e"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16d62793-c4da-4668-9122-b844e70df46e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9168975} 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":"52b67395d549e1c0b096b875ff98519e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"4b4e1695-49f5-4173-9fa0-f67b32156165","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9262288} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"051f5d16-dbb8-404d-a0bc-c5ca9b2ff23d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9263701} 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":"52b67395d549e1c0b096b875ff98519e"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"d157d739-8a2c-4c8a-87c0-9a41c4fb0557","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9307835} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52b67395d549e1c0b096b875ff98519e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"52b67395d549e1c0b096b875ff98519e","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52b67395d549e1c0b096b875ff98519e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2797eeda86c31c3ffe03b16742ba5118","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.744834,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132961,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2MX0.wm-fJfkbjY4hXodedeK_BMBkEVXx9U1Rq7cl0a1Z158"} 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":"2797eeda86c31c3ffe03b16742ba5118"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b372a8cc-5068-4beb-9c24-072c646c3eaf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9570553} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2797eeda86c31c3ffe03b16742ba5118"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"371e550a-3d75-4510-98fa-19870d5d2cf8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9623098} 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":"2797eeda86c31c3ffe03b16742ba5118"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"dd6935bc-4601-429a-aa5d-0557d719e665","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.973488} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f2d0321-3fdf-4241-ac1b-f8d574cf35d4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9735472} 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":"2797eeda86c31c3ffe03b16742ba5118"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"60fc219d-5a31-43e3-963f-6bc5d2cb43df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132961.9786913} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2797eeda86c31c3ffe03b16742ba5118"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"2797eeda86c31c3ffe03b16742ba5118","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2797eeda86c31c3ffe03b16742ba5118"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbc24ffb4984463fcf6780dd661372ae","responseTime":4,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a31ecae4f254172c6a444b73e2d2ae30","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715103,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc24ffb4984463fcf6780dd661372ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636315,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a31ecae4f254172c6a444b73e2d2ae30"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"3edbfe3e-2fa4-46fb-8acf-f06aaf119e73","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.453704} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc24ffb4984463fcf6780dd661372ae"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"fe250ba2-27e3-4776-baeb-d7d9d72434f4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.4548943} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a31ecae4f254172c6a444b73e2d2ae30"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e5207e7-9acc-405b-acf2-61b11db31049","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.4612844} 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":"fbc24ffb4984463fcf6780dd661372ae"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad6c9d63-0019-4acd-8235-101c55a1439d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.463141} 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":"a31ecae4f254172c6a444b73e2d2ae30"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"ef99c66a-0cbb-445f-9cdc-9b42459fe322","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.4669185} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a31ecae4f254172c6a444b73e2d2ae30"},"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":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2d30b51f-3935-4986-aa4b-9c29901b6930 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"a31ecae4f254172c6a444b73e2d2ae30"} device_1 | {"level":"info","message":"PATCH /devices/2d30b51f-3935-4986-aa4b-9c29901b6930 200 28ms","method":"PATCH","requestID":"a31ecae4f254172c6a444b73e2d2ae30","responseTime":28,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7894c6742830836a4ee275c91096df76","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071159,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7894c6742830836a4ee275c91096df76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"ec2427aa-b7d7-41ad-a667-27b405b7ab57","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.4985707} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc24ffb4984463fcf6780dd661372ae"},"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/a3821ec7-f834-4e20-b8c1-425fdd843bc2 200 60ms","method":"PATCH","requestID":"fbc24ffb4984463fcf6780dd661372ae","responseTime":61,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2"} gateway_1 | {"time_local":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.066","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"fbc24ffb4984463fcf6780dd661372ae"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc7a66d596483db93aaa545cd8cb5af1","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/2d30b51f-3935-4986-aa4b-9c29901b6930/websocket 200 32ms","method":"POST","requestID":"7894c6742830836a4ee275c91096df76","responseTime":32,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2d30b51f-3935-4986-aa4b-9c29901b6930/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.4","requestID":"7894c6742830836a4ee275c91096df76"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6695,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"fc7a66d596483db93aaa545cd8cb5af1"},"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":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/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.4","requestID":"fc7a66d596483db93aaa545cd8cb5af1"} device_1 | {"level":"info","message":"POST /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/websocket 200 10ms","method":"POST","requestID":"fc7a66d596483db93aaa545cd8cb5af1","responseTime":10,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ecd50dcafabec244f9b440f1a9effb06","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854938,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"ecd50dcafabec244f9b440f1a9effb06"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"f05811b9-447d-4b9b-ad48-f5a8d26e1330","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.551725} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecd50dcafabec244f9b440f1a9effb06"},"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/2d30b51f-3935-4986-aa4b-9c29901b6930? 200 11ms","method":"GET","requestID":"ecd50dcafabec244f9b440f1a9effb06","responseTime":11,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d30b51f-3935-4986-aa4b-9c29901b6930? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecd50dcafabec244f9b440f1a9effb06"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc467d11328306fec70d76ec0c04a72f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.75016,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc467d11328306fec70d76ec0c04a72f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"2c769b3e-4d7e-4bbf-afdf-4b863301a516","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.5723224} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc467d11328306fec70d76ec0c04a72f"},"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":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 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":"dc467d11328306fec70d76ec0c04a72f"} device_1 | {"level":"info","message":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 200 13ms","method":"GET","requestID":"dc467d11328306fec70d76ec0c04a72f","responseTime":13,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61918223782e7232d56a2167ae32e906","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:35260","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.657399,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"61918223782e7232d56a2167ae32e906"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"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:35260","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084328,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"946bdd80-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.450695,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"946c2ba0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"b0b2fd37-f905-4d8d-9fba-354fa89c3bee","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.6629698} 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":"946bdd80-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"f0b61156-e280-486c-b46c-6973b74860dd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.6647842} 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":"946c2ba0-faac-11ee-adee-eb1d2c4f6619"},"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/2d30b51f-3935-4986-aa4b-9c29901b6930? 200 24ms","method":"GET","requestID":"946bdd80-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 200 24ms","method":"GET","requestID":"946c2ba0-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"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/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.767775,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"947887b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.125986,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"9478d5d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.297364,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"572e8332-085d-4412-89aa-a17e4569d6a0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7481725} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","rebac_allow":false,"scope_allow":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":"947923f0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"2978e524-9723-460c-adc3-3fa6247f8e45","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7542255} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"947887b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"893cae7b-7c74-4b07-9a92-66dcba0f8701","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.760063} device_1 | {"level":"info","message":"POST /devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling 200 26ms","method":"POST","requestID":"947923f0-faac-11ee-adee-eb1d2c4f6619","responseTime":26,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/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":"9478d5d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0be0e5dc-c816-402c-8525-fbe872cd4657#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0be0e5dc-c816-402c-8525-fbe872cd4657","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"237389ca-f6d7-46b6-bc77-a5e0787e0fe8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7674694} 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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b978e1b-c5a9-44ee-aa4e-7f1811f25dbf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7680264} 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":"61918223782e7232d56a2167ae32e906"},"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:35260","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} device_1 | {"level":"info","message":"GET /devices/2d30b51f-3935-4986-aa4b-9c29901b6930? 200 41ms","method":"GET","requestID":"947887b0-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 200 41ms","method":"GET","requestID":"9478d5d0-faac-11ee-adee-eb1d2c4f6619","responseTime":41,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3ec1fcc-f451-46b1-a38e-9af91962ad72","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7748847} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.941628,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","rebac_allow":false,"scope_allow":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":"947e2d00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 198ms","method":"POST","requestID":"61918223782e7232d56a2167ae32e906","responseTime":198,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling 200 16ms","method":"POST","requestID":"947e2d00-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling"} gateway_1 | {"time_local":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61918223782e7232d56a2167ae32e906"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"048bb075-9b22-4b85-bfe7-559bc1d5c6b3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.7845197} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.301508,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"947fb3a0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd86ab753ca19de98ea8f8cfb41e0c1a","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/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling 200 15ms","method":"POST","requestID":"947fb3a0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908246,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"bd86ab753ca19de98ea8f8cfb41e0c1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9daec01-0546-451c-84a4-d19da8c9d9db","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.8005903} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.926205386Z"}]},"request_id":"900cada3-ba91-4c83-af98-23fd21c7aa37","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.8010507} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd86ab753ca19de98ea8f8cfb41e0c1a"},"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:35260","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.97168,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","rebac_allow":false,"scope_allow":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":"94824bb0-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d30b51f-3935-4986-aa4b-9c29901b6930? 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":"bd86ab753ca19de98ea8f8cfb41e0c1a"} device_1 | {"level":"info","message":"GET /devices/2d30b51f-3935-4986-aa4b-9c29901b6930? 200 17ms","method":"GET","requestID":"bd86ab753ca19de98ea8f8cfb41e0c1a","responseTime":17,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling 200 13ms","method":"POST","requestID":"94824bb0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"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":"e7c72117-8724-4942-936a-21c418b798a5"},{"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":"d5d385d2-c565-4cca-9408-46fb8142eeea"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e14e2b11-ea6a-44ba-bdca-cfc21b43d981"}]},"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/a3821ec7-f834-4e20-b8c1-425fdd843bc2"},{"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/2d30b51f-3935-4986-aa4b-9c29901b6930"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0edf2391d88ef0e46d7b9e5376d52c59","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.91558,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} 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":"9484bcb0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000503,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132962,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Mn0.BZAUuy4Yd9RA2NGnXhcQadcuAWCp-avnuDa3zcj999E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0edf2391d88ef0e46d7b9e5376d52c59"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:01.973455767Z"}]},"request_id":"e2343ef0-6202-4caa-80ae-5bc17d0f85dd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.823676} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0edf2391d88ef0e46d7b9e5376d52c59"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"1451cfab-b825-4593-ab52-322521e060c3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.8249865} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87391647-cc7f-4847-b38a-48561014948b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.8253937} 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":"9484bcb0-faac-11ee-adee-eb1d2c4f6619"},"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":"14/Apr/2024:22:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 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":"0edf2391d88ef0e46d7b9e5376d52c59"} device_1 | {"level":"info","message":"GET /devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2? 200 16ms","method":"GET","requestID":"0edf2391d88ef0e46d7b9e5376d52c59","responseTime":16,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2?"} 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/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c'"} 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":"9484bcb0-faac-11ee-adee-eb1d2c4f6619","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"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c' to 'http://localhost/callbacks/experiment'"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25593136-b4d5-4078-adb6-489bfd47276a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.8935437} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.202636,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","rebac_allow":false,"scope_allow":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":"94905570-faac-11ee-adee-eb1d2c4f6619"},"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:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8485690af3aefa6284b05b0534f41651","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/a3821ec7-f834-4e20-b8c1-425fdd843bc2"},{"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/2d30b51f-3935-4986-aa4b-9c29901b6930"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"8485690af3aefa6284b05b0534f41651","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8485690af3aefa6284b05b0534f41651"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling 200 20ms","method":"POST","requestID":"94905570-faac-11ee-adee-eb1d2c4f6619","responseTime":20,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e96f331a-a5c7-42a7-bf2e-1447c7e18d98","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.9134161} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.366043,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","rebac_allow":false,"scope_allow":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":"9493b0d0-faac-11ee-adee-eb1d2c4f6619"},"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/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling 200 10ms","method":"POST","requestID":"9493b0d0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","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/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b409a4159b7bd5795ca30bfa23d1bcab","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/a3821ec7-f834-4e20-b8c1-425fdd843bc2"},{"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/2d30b51f-3935-4986-aa4b-9c29901b6930"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f249e241-9bc3-4eb9-b42e-6830fe67aa43","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.9465113} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.791217,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","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":"9498b9e0-faac-11ee-adee-eb1d2c4f6619"},"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/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c 200 9ms","method":"GET","requestID":"9498b9e0-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"b409a4159b7bd5795ca30bfa23d1bcab","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"b409a4159b7bd5795ca30bfa23d1bcab"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dbde166-84d1-4fbc-b2b9-0fc5bf86be6e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.977804} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692184,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","rebac_allow":false,"scope_allow":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":"949d74d0-faac-11ee-adee-eb1d2c4f6619"},"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/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling 200 10ms","method":"POST","requestID":"949d74d0-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b528401-4c7c-4c39-a5bf-fe040bc9815b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132962.9907572} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977001,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","rebac_allow":false,"scope_allow":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":"949f4990-faac-11ee-adee-eb1d2c4f6619"},"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/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling 200 11ms","method":"POST","requestID":"949f4990-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"493b090244f593be806f1ccf87b5c06f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.341971,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"493b090244f593be806f1ccf87b5c06f"},"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/0be0e5dc-c816-402c-8525-fbe872cd4657"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657 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":"493b090244f593be806f1ccf87b5c06f"} experiment_1 | {"level":"info","message":"GET /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657 200 18ms","method":"GET","requestID":"493b090244f593be806f1ccf87b5c06f","responseTime":18,"status":200,"url":"/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a25410c3683058406e91ba815d899bee","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.304865,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"a25410c3683058406e91ba815d899bee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.147082,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"94ad5350-faac-11ee-adee-eb1d2c4f6619"},"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/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0397e307d08996e2bf8eef4821bf92a","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89020b23-8aa8-41dc-a7a4-c8bc9ec7014c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"f62545a1-2d0e-4336-9178-7585a3167426","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.102222} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5f70593-1058-4c94-88d8-c39f99c5f6c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.1029315} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2"},{"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/2d30b51f-3935-4986-aa4b-9c29901b6930"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4831b3b727a8b82334adedd0569aef86","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94ad5350-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/a3821ec7-f834-4e20-b8c1-425fdd843bc2"},{"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/2d30b51f-3935-4986-aa4b-9c29901b6930"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"89020b23-8aa8-41dc-a7a4-c8bc9ec7014c","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/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c 204 59ms","method":"DELETE","requestID":"94ad5350-faac-11ee-adee-eb1d2c4f6619","responseTime":59,"status":204,"url":"/peerconnections/89020b23-8aa8-41dc-a7a4-c8bc9ec7014c"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3821ec7-f834-4e20-b8c1-425fdd843bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f4ee45e-81c3-4636-a3d0-83703ccbb1e9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.1662788} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.865656,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2","object_type":"device","rebac_allow":false,"scope_allow":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":"94b9fd80-faac-11ee-adee-eb1d2c4f6619"},"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/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling 200 15ms","method":"POST","requestID":"94b9fd80-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0be0e5dc-c816-402c-8525-fbe872cd4657': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0be0e5dc-c816-402c-8525-fbe872cd4657","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"034d00c9-95a0-40e7-9227-2ff6ce89fed9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.1786919} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0bf8755-986f-47f6-b32c-0d7fda1d0064","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.178922} 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":"a25410c3683058406e91ba815d899bee"},"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:35260","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d30b51f-3935-4986-aa4b-9c29901b6930","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3e79006-6477-44da-9274-f5009b414a5f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.1848469} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.524419,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930","object_type":"device","rebac_allow":false,"scope_allow":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":"94bcbca0-faac-11ee-adee-eb1d2c4f6619"},"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/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling 200 13ms","method":"POST","requestID":"94bcbca0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/2d30b51f-3935-4986-aa4b-9c29901b6930/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a25410c3683058406e91ba815d899bee"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +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.722","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"178d5d27cc9c1a40d7c18d081bc9b8f4"} experiment_1 | {"level":"info","message":"DELETE /experiments/0be0e5dc-c816-402c-8525-fbe872cd4657 204 181ms","method":"DELETE","requestID":"a25410c3683058406e91ba815d899bee","responseTime":181,"status":204,"url":"/experiments/0be0e5dc-c816-402c-8525-fbe872cd4657"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +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.731","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"3dd9359d5d451e768510c358b385e618"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"b0397e307d08996e2bf8eef4821bf92a","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"b0397e307d08996e2bf8eef4821bf92a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"4831b3b727a8b82334adedd0569aef86","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"4831b3b727a8b82334adedd0569aef86"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"afb3e6f2e569823eb31a8cab0704043d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2d30b51f-3935-4986-aa4b-9c29901b6930' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.970817,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a3821ec7-f834-4e20-b8c1-425fdd843bc2' 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":"afb3e6f2e569823eb31a8cab0704043d"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f3cb495d-ace4-4d02-8eac-f0ca844c885b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.2712016} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afb3e6f2e569823eb31a8cab0704043d"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbe5229c-141c-445d-9e06-0651644129c2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.2775493} 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":"afb3e6f2e569823eb31a8cab0704043d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"bc3069b9-ff7e-4032-80b3-f177fbe30518","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.2898562} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64820288-b3a6-4abc-b79a-9eddd49e6c1b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.2900438} 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":"afb3e6f2e569823eb31a8cab0704043d"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"6eda193b-9564-4151-a7e0-b7980bd9e7f9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.2949994} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afb3e6f2e569823eb31a8cab0704043d"},"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":"afb3e6f2e569823eb31a8cab0704043d","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afb3e6f2e569823eb31a8cab0704043d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8ff012083fd10c4b842300a530edf3b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.018515,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"f8ff012083fd10c4b842300a530edf3b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8494e15d-5792-4e3c-be68-4c5294f9f321","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.324373} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8ff012083fd10c4b842300a530edf3b"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86943212-9969-4426-8a9d-5ae74eedead5","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.3297193} 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":"f8ff012083fd10c4b842300a530edf3b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"a3d969a0-0e50-44db-8cf0-6e8c9c1d6bbf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.3384805} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa568145-b295-48b0-9068-b1e65b850cac","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.3387682} 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":"f8ff012083fd10c4b842300a530edf3b"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"43b3ca3a-01f9-474c-8090-79e28a3bbbf3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.3438568} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8ff012083fd10c4b842300a530edf3b"},"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":"f8ff012083fd10c4b842300a530edf3b","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8ff012083fd10c4b842300a530edf3b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"510c4ff2372254ce91e172f126673bce","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801703,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ab12b1452f4243b51994166a3641764","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"510c4ff2372254ce91e172f126673bce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.563032,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ab12b1452f4243b51994166a3641764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"3e6957ec-b893-44eb-b91d-a0b391e29e98","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.8159993} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"510c4ff2372254ce91e172f126673bce"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"aa2110ba-db83-40f0-9e3b-9b511e7aed17","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.8188014} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ab12b1452f4243b51994166a3641764"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef16c5df-5cae-4540-9bba-4d84b9c4aa03","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.8206522} 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":"510c4ff2372254ce91e172f126673bce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4155bafe-10ff-4fba-865e-4f963b99c7af","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.825285} 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":"2ab12b1452f4243b51994166a3641764"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"d9377d8b-3384-4ad8-9d05-b468c2c36bf4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.849873} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"510c4ff2372254ce91e172f126673bce"},"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921 200 51ms","method":"PATCH","requestID":"510c4ff2372254ce91e172f126673bce","responseTime":51,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"510c4ff2372254ce91e172f126673bce"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b51d62f2abef8f17d2ad437b0ae933cf","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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"3545c0e9-fe84-4e3b-8cd6-8c01193c5b6a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.863376} 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":"2ab12b1452f4243b51994166a3641764"},"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:35260","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183454,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.064","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"2ab12b1452f4243b51994166a3641764"} device_1 | {"level":"info","message":"PATCH /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412 200 59ms","method":"PATCH","requestID":"2ab12b1452f4243b51994166a3641764","responseTime":59,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b51d62f2abef8f17d2ad437b0ae933cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad58e18d095598d129eaaa6fe1eac4d0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731465,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad58e18d095598d129eaaa6fe1eac4d0"},"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":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/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.4","requestID":"b51d62f2abef8f17d2ad437b0ae933cf"} device_1 | {"level":"info","message":"POST /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/websocket 200 25ms","method":"POST","requestID":"b51d62f2abef8f17d2ad437b0ae933cf","responseTime":25,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/websocket 200 23ms","method":"POST","requestID":"ad58e18d095598d129eaaa6fe1eac4d0","responseTime":23,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/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.4","requestID":"ad58e18d095598d129eaaa6fe1eac4d0"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6aca54dfc3d98f9a980089b1b2b03b1e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737044,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aca54dfc3d98f9a980089b1b2b03b1e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"26e45b5b-7b3d-4485-9444-63c7dc7004b3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.9272103} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aca54dfc3d98f9a980089b1b2b03b1e"},"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":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 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":"6aca54dfc3d98f9a980089b1b2b03b1e"} device_1 | {"level":"info","message":"GET /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 200 12ms","method":"GET","requestID":"6aca54dfc3d98f9a980089b1b2b03b1e","responseTime":12,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29dbfe912626e89783edbac445ffea7d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742941,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29dbfe912626e89783edbac445ffea7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"13e5b2c4-2774-4bb7-987d-bca6f7a1c935","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132963.9492762} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29dbfe912626e89783edbac445ffea7d"},"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/fcc70425-f921-45cb-bae4-a8f3b8a57412? 200 14ms","method":"GET","requestID":"29dbfe912626e89783edbac445ffea7d","responseTime":14,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412? 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":"29dbfe912626e89783edbac445ffea7d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"037c90974ae859a5c08fe0e901191855","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:35260","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.024871,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:03Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"037c90974ae859a5c08fe0e901191855"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"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:35260","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108707,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"953d3740-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.456939,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"953d5e50-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"69d96500-2235-43b4-877b-e9b7a9aa4f04","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.0357862} 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":"953d3740-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"8a982d81-8312-47fa-a807-05cb5fb501df","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.0378618} 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":"953d5e50-faac-11ee-adee-eb1d2c4f6619"},"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 200 24ms","method":"GET","requestID":"953d3740-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412? 200 24ms","method":"GET","requestID":"953d5e50-faac-11ee-adee-eb1d2c4f6619","responseTime":24,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"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:35260","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.420657,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"9548d000-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153864,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"9548f710-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:51512","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"dcd4c32c-6402-4078-9b8a-ad3d9bdcc65e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1140354} 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":"9548d000-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"2c8d5a30-3d5f-4cc2-98e4-e2565bdbd642","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1155012} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"434d4d19-b1be-4c8c-8e22-07fa6494371e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1160789} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9548f710-faac-11ee-adee-eb1d2c4f6619"},"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:51512","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.066014,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","rebac_allow":false,"scope_allow":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":"95494530-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F868fdc19-a2c3-4ee1-b92d-e0269748133e#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F868fdc19-a2c3-4ee1-b92d-e0269748133e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"85fad969-cc3e-4b57-a9d5-4efce747aef4","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.123463} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 200 29ms","method":"GET","requestID":"9548d000-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5926fc54-7a57-4d9c-9d46-0d26329e90a1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1239483} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412? 200 29ms","method":"GET","requestID":"9548f710-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412?"} 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":"037c90974ae859a5c08fe0e901191855"},"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling 200 28ms","method":"POST","requestID":"95494530-faac-11ee-adee-eb1d2c4f6619","responseTime":28,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f54c74d-3cb1-4a23-9f34-532164b3b464","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1352358} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.40445,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","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/868fdc19-a2c3-4ee1-b92d-e0269748133e","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"954dd910-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"037c90974ae859a5c08fe0e901191855","responseTime":180,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"037c90974ae859a5c08fe0e901191855"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling 200 13ms","method":"POST","requestID":"954dd910-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74ead309-bb36-492e-871a-0c6cdad995e8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1423473} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.123071,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"084f2783183e62f3fdba99681148b469","responseTime":3,"status":200,"url":"/auth"} 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":"954ec370-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66316846-35cb-4f42-bd31-c1d7544924b9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1496375} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling 200 16ms","method":"POST","requestID":"954ec370-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.522934,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.524153,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"084f2783183e62f3fdba99681148b469"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","rebac_allow":false,"scope_allow":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":"95502300-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.289827971Z"}]},"request_id":"0d71e5df-33e6-4b7c-ab57-18dbbf0f136c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1567678} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling 200 13ms","method":"POST","requestID":"95502300-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/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":"084f2783183e62f3fdba99681148b469"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"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":"30d93361-2852-454a-a9a8-15f0cb41cd5f"},{"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":"ccf23fad-30d8-483c-b36d-ba00bb7b8b09"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"18d8df2b-4ee9-42ca-8a46-07dda2eca4a7"}]},"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/fcc70425-f921-45cb-bae4-a8f3b8a57412"},{"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} device_1 | {"level":"info","message":"GET /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 200 15ms","method":"GET","requestID":"084f2783183e62f3fdba99681148b469","responseTime":15,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921? 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":"084f2783183e62f3fdba99681148b469"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.033645,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132963,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2M30.Fe5DH76JxVD2--8GtpYGxmF7Ed_U7nAuVgYfxA3aVUo"} 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":"95529400-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f66b9de089e4297179dc0fa24d662aeb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694388,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} 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":"f66b9de089e4297179dc0fa24d662aeb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:03.338451944Z"}]},"request_id":"64978c2b-b1a8-4987-9c87-7fbd6d6ccabf","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.175287} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f66b9de089e4297179dc0fa24d662aeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"a97ffc28-86a4-45b7-a1db-13d443ead8f1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1762824} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56cd7171-ac17-400a-b7fc-8b45acbb04cd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.1765769} 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":"95529400-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412? 200 13ms","method":"GET","requestID":"f66b9de089e4297179dc0fa24d662aeb","responseTime":13,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcc70425-f921-45cb-bae4-a8f3b8a57412? 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":"f66b9de089e4297179dc0fa24d662aeb"} 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/460a29e0-368a-4c62-9ddd-9a9a00d9337d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"95529400-faac-11ee-adee-eb1d2c4f6619","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","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:35260","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf93462f-0e70-4ec3-b2d4-65dc92ee94f1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.2426069} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.315096,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","rebac_allow":false,"scope_allow":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":"955e2cc0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling 200 14ms","method":"POST","requestID":"955e2cc0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"07efb11741cac6a2e68da03b87cca4f0","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/fcc70425-f921-45cb-bae4-a8f3b8a57412"},{"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49a56074-6563-49c8-89c9-5bc868bfc30b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.2608414} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887387,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","rebac_allow":false,"scope_allow":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":"9560ebe0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"07efb11741cac6a2e68da03b87cca4f0","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"07efb11741cac6a2e68da03b87cca4f0"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","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/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling 200 15ms","method":"POST","requestID":"9560ebe0-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","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/460a29e0-368a-4c62-9ddd-9a9a00d9337d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e78d41a5957007ecb3b247570f4cf910","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/fcc70425-f921-45cb-bae4-a8f3b8a57412"},{"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F460a29e0-368a-4c62-9ddd-9a9a00d9337d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c281db77-a244-4421-a288-0c5d6b78f7d0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.3123052} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.470719,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d","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":"95690230-faac-11ee-adee-eb1d2c4f6619"},"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/460a29e0-368a-4c62-9ddd-9a9a00d9337d 200 10ms","method":"GET","requestID":"95690230-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"e78d41a5957007ecb3b247570f4cf910","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"e78d41a5957007ecb3b247570f4cf910"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.212793,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8002d5e8-ff61-40b4-ba43-73046154e960","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.342628} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","rebac_allow":false,"scope_allow":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":"956d6f00-faac-11ee-adee-eb1d2c4f6619"},"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/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling 200 14ms","method":"POST","requestID":"956d6f00-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12005e66-17dd-447f-b4ca-c7f6fcd10153","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.3602798} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.808766,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","rebac_allow":false,"scope_allow":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":"95702e20-faac-11ee-adee-eb1d2c4f6619"},"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling 200 13ms","method":"POST","requestID":"95702e20-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9b969732316ea30d1757a58645f996b1","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.339472,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} 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":"9b969732316ea30d1757a58645f996b1"},"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/868fdc19-a2c3-4ee1-b92d-e0269748133e"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b969732316ea30d1757a58645f996b1"} experiment_1 | {"level":"info","message":"GET /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e 200 18ms","method":"GET","requestID":"9b969732316ea30d1757a58645f996b1","responseTime":18,"status":200,"url":"/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b1e2abd5f996e5a7cf29d5b597badfc4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.852437,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} 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":"b1e2abd5f996e5a7cf29d5b597badfc4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.405965,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} 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":"957dc2b0-faac-11ee-adee-eb1d2c4f6619"},"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/460a29e0-368a-4c62-9ddd-9a9a00d9337d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d10e01362776b720276daf7487b0f846","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F460a29e0-368a-4c62-9ddd-9a9a00d9337d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F460a29e0-368a-4c62-9ddd-9a9a00d9337d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"b6868e4c-5bcc-4b01-b36f-cd1ffe8cb3c7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.467562} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc14477a-8d4e-4c88-b78e-809be4127482","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.4682024} 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/fcc70425-f921-45cb-bae4-a8f3b8a57412"},{"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 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":"957dc2b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19f76a8a6fd1ed9ed36bc8f3731d3d0e","responseTime":4,"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/fcc70425-f921-45cb-bae4-a8f3b8a57412"},{"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"460a29e0-368a-4c62-9ddd-9a9a00d9337d","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/460a29e0-368a-4c62-9ddd-9a9a00d9337d 204 56ms","method":"DELETE","requestID":"957dc2b0-faac-11ee-adee-eb1d2c4f6619","responseTime":56,"status":204,"url":"/peerconnections/460a29e0-368a-4c62-9ddd-9a9a00d9337d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc70425-f921-45cb-bae4-a8f3b8a57412","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b64fe98-d810-4a42-a38d-c049aad0373e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.5281405} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.536196,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412","object_type":"device","rebac_allow":false,"scope_allow":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":"9589a990-faac-11ee-adee-eb1d2c4f6619"},"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/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling 200 15ms","method":"POST","requestID":"9589a990-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F868fdc19-a2c3-4ee1-b92d-e0269748133e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F868fdc19-a2c3-4ee1-b92d-e0269748133e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"526513c7-453e-4840-832f-6321efb7f9c0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.5377173} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed3233d6-e9c0-4dff-a218-2137db7e4c85","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.5380902} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1e2abd5f996e5a7cf29d5b597badfc4"},"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:35260","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ed859a8-297f-4d4b-bc09-5ad4a443f921","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95881d5b-2283-45cf-bb73-0dcf87cc4957","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.5464883} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836007,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921","object_type":"device","rebac_allow":false,"scope_allow":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":"958c8fc0-faac-11ee-adee-eb1d2c4f6619"},"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/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling 200 14ms","method":"POST","requestID":"958c8fc0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/0ed859a8-297f-4d4b-bc09-5ad4a443f921/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1e2abd5f996e5a7cf29d5b597badfc4"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +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.704","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"b59793904e33b7f2559fc6e158a7e059"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +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.717","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.4","requestID":"494f33077ab05d8ae9d12e753711e2d5"} experiment_1 | {"level":"info","message":"DELETE /experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e 204 179ms","method":"DELETE","requestID":"b1e2abd5f996e5a7cf29d5b597badfc4","responseTime":179,"status":204,"url":"/experiments/868fdc19-a2c3-4ee1-b92d-e0269748133e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"d10e01362776b720276daf7487b0f846","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"d10e01362776b720276daf7487b0f846"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"19f76a8a6fd1ed9ed36bc8f3731d3d0e","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"19f76a8a6fd1ed9ed36bc8f3731d3d0e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d3eaf912ce60bc39a0e2ba598fd7f58","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/0ed859a8-297f-4d4b-bc09-5ad4a443f921' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.933235,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fcc70425-f921-45cb-bae4-a8f3b8a57412' 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":"7d3eaf912ce60bc39a0e2ba598fd7f58"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4ce606f-7619-4102-a977-85b291b4ff4f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6339562} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d3eaf912ce60bc39a0e2ba598fd7f58"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e8eb0b8-6df4-4eb3-8347-803bfc21465e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6405194} 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":"7d3eaf912ce60bc39a0e2ba598fd7f58"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"59acacab-2a4b-4316-b286-4738c3260cf8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6513548} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e620cef-0992-475e-a9bb-70790289208b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.651615} 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":"7d3eaf912ce60bc39a0e2ba598fd7f58"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.651312852Z"}]},"request_id":"a5d3121c-3f0f-4aa2-84c4-ca49232ce35d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6562493} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d3eaf912ce60bc39a0e2ba598fd7f58"},"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":"7d3eaf912ce60bc39a0e2ba598fd7f58","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d3eaf912ce60bc39a0e2ba598fd7f58"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c7a9eea2fba41f33dd82e3343076320","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.862618,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132964,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2NH0.fS1vMe1QkOkwjZEJvHH2dbR2GEd9KN0MZRDcKPIYEgU"} 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":"1c7a9eea2fba41f33dd82e3343076320"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2857f1a5-dd33-4b6b-83b4-557741f5928e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6821399} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c7a9eea2fba41f33dd82e3343076320"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"283094e5-8dd4-44f1-89b0-309e4100ca2a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6870017} 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":"1c7a9eea2fba41f33dd82e3343076320"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"5f888910-b86c-47c0-9317-ff12ee6d0bd3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6967583} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1d79a24-7f24-4f3e-b9c4-4eeae2917e1e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.6969693} 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":"1c7a9eea2fba41f33dd82e3343076320"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.696723527Z"}]},"request_id":"b476cb5e-49d4-4de9-862d-b2defa1c4e96","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132964.7014742} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c7a9eea2fba41f33dd82e3343076320"},"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":"1c7a9eea2fba41f33dd82e3343076320","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c7a9eea2fba41f33dd82e3343076320"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bbe85e897136a081723c4d2e80cc7b54","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/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":"bbe85e897136a081723c4d2e80cc7b54"} device_1 | {"level":"info","message":"OPTIONS /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/websocket 200 1ms","method":"OPTIONS","requestID":"bbe85e897136a081723c4d2e80cc7b54","responseTime":1,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d07e7e98d9a7b310efbfed4d271091b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"938f201f3aa678ec800f3e338273fcf4","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/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":"938f201f3aa678ec800f3e338273fcf4"} device_1 | {"level":"info","message":"OPTIONS /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/websocket 200 1ms","method":"OPTIONS","requestID":"938f201f3aa678ec800f3e338273fcf4","responseTime":1,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/websocket"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871706,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d07e7e98d9a7b310efbfed4d271091b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ee25eebcc6f66d916e442d37a437c1f0","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095364,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee25eebcc6f66d916e442d37a437c1f0"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85/websocket 200 29ms","method":"POST","requestID":"5d07e7e98d9a7b310efbfed4d271091b","responseTime":29,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/websocket"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d07e7e98d9a7b310efbfed4d271091b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee25eebcc6f66d916e442d37a437c1f0"} device_1 | {"level":"info","message":"POST /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/websocket 200 28ms","method":"POST","requestID":"ee25eebcc6f66d916e442d37a437c1f0","responseTime":28,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58a042618e60017dee806f9361fbc29e","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.523026,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a042618e60017dee806f9361fbc29e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.651312852Z"}]},"request_id":"264b8851-9b50-491f-bc2b-6128e6407bdb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.7255418} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a042618e60017dee806f9361fbc29e"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85? 200 14ms","method":"GET","requestID":"58a042618e60017dee806f9361fbc29e","responseTime":14,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85? 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":"58a042618e60017dee806f9361fbc29e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"471fa655f7d07c5f8dcadae827190de3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789953,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"471fa655f7d07c5f8dcadae827190de3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.696723527Z"}]},"request_id":"686ccdee-3509-46eb-875e-d05b872e78d9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.7429953} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"471fa655f7d07c5f8dcadae827190de3"},"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":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 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":"471fa655f7d07c5f8dcadae827190de3"} device_1 | {"level":"info","message":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 200 11ms","method":"GET","requestID":"471fa655f7d07c5f8dcadae827190de3","responseTime":11,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cfa7c2abf11c779fde917e2c75606f06","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:35260","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.975021,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"cfa7c2abf11c779fde917e2c75606f06"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"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:35260","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12848,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e56900-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.022984,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e5b720-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.651312852Z"}]},"request_id":"fc5aa1b4-01ee-4b57-bd99-7e489eac3917","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.8116083} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e56900-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.696723527Z"}]},"request_id":"efbe22d7-1e4a-4a69-8300-5df795106afe","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.8131256} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e5b720-faac-11ee-adee-eb1d2c4f6619"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85? 200 19ms","method":"GET","requestID":"96e56900-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 200 19ms","method":"GET","requestID":"96e5b720-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"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/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.388823,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"96f08c90-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216517,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"96f0dab0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:51512","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:51512","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.283778,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e19617b-039b-4aaa-bece-8ad39070ced7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.887748} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","rebac_allow":false,"scope_allow":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":"96f128d0-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.651312852Z"}]},"request_id":"e05acd2a-80d5-4c71-a037-3d757a8f1cef","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.8912394} 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":"96f08c90-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.696723527Z"}]},"request_id":"2a112d19-bc6d-4a1e-8fb3-beb4c6a06d68","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.89569} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96f0dab0-faac-11ee-adee-eb1d2c4f6619"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling 200 22ms","method":"POST","requestID":"96f128d0-faac-11ee-adee-eb1d2c4f6619","responseTime":22,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12565a32-0be2-4bf1-bf53-3adf9dd572c4#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12565a32-0be2-4bf1-bf53-3adf9dd572c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"55a46f8c-a165-4a16-8cb8-3a5b62d3e12c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9018424} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0752de0f-9647-43df-bfab-2b78b7800bc8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9021962} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfa7c2abf11c779fde917e2c75606f06"},"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:35260","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85? 200 35ms","method":"GET","requestID":"96f08c90-faac-11ee-adee-eb1d2c4f6619","responseTime":35,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 200 34ms","method":"GET","requestID":"96f0dab0-faac-11ee-adee-eb1d2c4f6619","responseTime":34,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"988d259f-1503-4114-9a92-5b9f089c6490","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.910361} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.253545,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","rebac_allow":false,"scope_allow":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":"96f52070-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"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 164ms","method":"POST","requestID":"cfa7c2abf11c779fde917e2c75606f06","responseTime":164,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cfa7c2abf11c779fde917e2c75606f06"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling 200 17ms","method":"POST","requestID":"96f52070-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7032cc0-80dd-408c-904d-f44da4800e21","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9230955} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.947245,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8f0d3541180d5f02857813ca74fa1b0","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"96f74350-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728101,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} device_1 | {"level":"info","message":"POST /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling 200 13ms","method":"POST","requestID":"96f74350-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8f0d3541180d5f02857813ca74fa1b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.651312852Z"}]},"request_id":"089a0a4c-d697-4a37-9c74-df44fd7c03c8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9343097} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8f0d3541180d5f02857813ca74fa1b0"},"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:35260","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"feb43d40-86e6-414c-a77f-df22329b0947","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9377837} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.54246,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e5d1169-1e27-4100-a80e-45902c5e2f85? 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":"d8f0d3541180d5f02857813ca74fa1b0"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","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/3e5d1169-1e27-4100-a80e-45902c5e2f85? 200 14ms","method":"GET","requestID":"d8f0d3541180d5f02857813ca74fa1b0","responseTime":14,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85?"} 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":"96f98d40-faac-11ee-adee-eb1d2c4f6619"},"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/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling 200 11ms","method":"POST","requestID":"96f98d40-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8afbe7a6-f04a-42f4-9f9d-9ac0946bbee7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"66b31ea1-32c3-47de-bd30-2a24c6e304f2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"33a1212f-e0c8-427a-be66-2565fc34f5f0"}]},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8bc8caa06ea994f04578173d4d3cbcf","responseTime":3,"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:35260","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.639046,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"96fbb020-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989435,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132966,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2Nn0.rE04cX2jcfuhkwjTAqKE5QBghnFhZcyA-Jt5SeAm294"} 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":"e8bc8caa06ea994f04578173d4d3cbcf"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:04.696723527Z"}]},"request_id":"f12a2142-6f7b-4044-bb0f-305d58570d2e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9554574} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8bc8caa06ea994f04578173d4d3cbcf"},"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":"14/Apr/2024:22:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 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":"e8bc8caa06ea994f04578173d4d3cbcf"} device_1 | {"level":"info","message":"GET /devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b? 200 11ms","method":"GET","requestID":"e8bc8caa06ea994f04578173d4d3cbcf","responseTime":11,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"e55684c2-de95-4d26-8317-894f6e2e0d5a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9589942} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59ad6904-818f-470e-bdf0-be0bec13b944","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132966.9592361} 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":"96fbb020-faac-11ee-adee-eb1d2c4f6619"},"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/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb'"} 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":"96fbb020-faac-11ee-adee-eb1d2c4f6619","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/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75dacc43-b178-4e43-91f4-02e6a5c56ba8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.0206} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321907,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","rebac_allow":false,"scope_allow":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":"97063770-faac-11ee-adee-eb1d2c4f6619"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling 200 9ms","method":"POST","requestID":"97063770-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74576562-337b-482f-b93f-dd50770937f7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.030429} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393704,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","rebac_allow":false,"scope_allow":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":"9707e520-faac-11ee-adee-eb1d2c4f6619"},"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/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling 200 9ms","method":"POST","requestID":"9707e520-faac-11ee-adee-eb1d2c4f6619","responseTime":9,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ac5cecb45dab28cf2bb3063fb6fe191","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/3e5d1169-1e27-4100-a80e-45902c5e2f85"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"3ac5cecb45dab28cf2bb3063fb6fe191","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ac5cecb45dab28cf2bb3063fb6fe191"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","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/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3435d9405982c5798361da99ee3be308","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/3e5d1169-1e27-4100-a80e-45902c5e2f85"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfe8fd25-7428-4a9e-8996-10d7c02d6724","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.2438684} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.209793,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","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":"97281750-faac-11ee-adee-eb1d2c4f6619"},"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/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb 200 13ms","method":"GET","requestID":"97281750-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"3435d9405982c5798361da99ee3be308","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"3435d9405982c5798361da99ee3be308"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c5daabf-748b-45b0-822e-0c7f13e5c80e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.2783012} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.54147,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","rebac_allow":false,"scope_allow":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":"972d6e80-faac-11ee-adee-eb1d2c4f6619"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling 200 13ms","method":"POST","requestID":"972d6e80-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70a26cb4-c93e-4d57-aa76-5f76a09389f2","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.2951016} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.276602,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","rebac_allow":false,"scope_allow":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":"972fdf80-faac-11ee-adee-eb1d2c4f6619"},"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/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling 200 14ms","method":"POST","requestID":"972fdf80-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a75e2dafc380bdf5215a2ac7536da2f1","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.287447,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132967,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4"} 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":"a75e2dafc380bdf5215a2ac7536da2f1"},"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/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} experiment_1 | {"level":"info","message":"GET /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4 200 15ms","method":"GET","requestID":"a75e2dafc380bdf5215a2ac7536da2f1","responseTime":15,"status":200,"url":"/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a75e2dafc380bdf5215a2ac7536da2f1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78daba7f9b86222969c1ca63cb896710","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679401,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132967,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4"} 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":"78daba7f9b86222969c1ca63cb896710"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.315243,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132967,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4"} 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":"973a18b0-faac-11ee-adee-eb1d2c4f6619"},"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/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"b2d71225-7b96-4a85-bcae-9d1712f9f9f3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.3767588} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42b85c4a-4f09-4d19-95cc-b729eb1efc24","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.377039} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6161e68f0339a3e005410b1b5af73231","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"973a18b0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fdce3e92884a16718606739a3ca1948","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb","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/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb 204 47ms","method":"DELETE","requestID":"973a18b0-faac-11ee-adee-eb1d2c4f6619","responseTime":47,"status":204,"url":"/peerconnections/a2fc3adf-4b5f-4ee6-b809-c1bd0a3b66cb"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e5d1169-1e27-4100-a80e-45902c5e2f85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"998fca68-fa6e-4c2e-9b06-08ad0db36f6f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.435161} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.822018,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85","object_type":"device","rebac_allow":false,"scope_allow":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":"9744ee20-faac-11ee-adee-eb1d2c4f6619"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling 200 18ms","method":"POST","requestID":"9744ee20-faac-11ee-adee-eb1d2c4f6619","responseTime":18,"status":200,"url":"/devices/3e5d1169-1e27-4100-a80e-45902c5e2f85/signaling"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12565a32-0be2-4bf1-bf53-3adf9dd572c4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12565a32-0be2-4bf1-bf53-3adf9dd572c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"96f4580f-ff27-4a73-ba4a-b49874e98cfd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.4435642} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31e294e3-ea57-428d-b7cd-e6c83ef52792","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.444454} 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":"78daba7f9b86222969c1ca63cb896710"},"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:35260","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc2d3000-9953-4e97-adac-e5ca80a7fa3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d77e3545-e36d-4903-a447-57ecb507c2a8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.454605} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.757225,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b","object_type":"device","rebac_allow":false,"scope_allow":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":"97484980-faac-11ee-adee-eb1d2c4f6619"},"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/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling 200 13ms","method":"POST","requestID":"97484980-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78daba7f9b86222969c1ca63cb896710"} experiment_1 | {"level":"info","message":"DELETE /experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4 204 168ms","method":"DELETE","requestID":"78daba7f9b86222969c1ca63cb896710","responseTime":168,"status":204,"url":"/experiments/12565a32-0be2-4bf1-bf53-3adf9dd572c4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"6161e68f0339a3e005410b1b5af73231","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"6161e68f0339a3e005410b1b5af73231"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"5fdce3e92884a16718606739a3ca1948","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fdce3e92884a16718606739a3ca1948"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +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":"c416126323e7a35344c176c2f5b59a37"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"0.831","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1faf0041562e8a08d4abc51dc23be0f4"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"99beb131e2085b1c7d9bb3a8cd004146","responseTime":4,"status":200,"url":"/auth"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dc2d3000-9953-4e97-adac-e5ca80a7fa3b' closed"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.887238,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132967,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4"} 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":"99beb131e2085b1c7d9bb3a8cd004146"},"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/3e5d1169-1e27-4100-a80e-45902c5e2f85' 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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7a5eee15-e169-4842-8c4f-dc6127a972bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5354648} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99beb131e2085b1c7d9bb3a8cd004146"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af3dad55-e699-406a-a458-77ec0b5cf5f0","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.539905} 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":"99beb131e2085b1c7d9bb3a8cd004146"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"1bb6b59e-aa49-4b43-9252-917363508d6a","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.551113} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d7a31fc-afc4-42e8-8dbf-5961752efc33","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5512466} 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":"99beb131e2085b1c7d9bb3a8cd004146"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.551084192Z"}]},"request_id":"43abe922-ad6a-45f1-9115-61f51dcaff66","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.554938} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99beb131e2085b1c7d9bb3a8cd004146"},"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":"99beb131e2085b1c7d9bb3a8cd004146","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99beb131e2085b1c7d9bb3a8cd004146"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ffd20c262d4cffeb2171236d27687780","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729089,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132967,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2N30.llXoO5c1yOrQABU4Vk-8xJ-3fUahJ763HFmKkGABSY4"} 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":"ffd20c262d4cffeb2171236d27687780"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6cd2159-5125-4449-92ef-8cbf603109ae","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5817559} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffd20c262d4cffeb2171236d27687780"},"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:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5acb5c19-b594-4128-95a8-899d6112ffb9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5864248} 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":"ffd20c262d4cffeb2171236d27687780"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"13e3b6a9-2b45-4e5b-a7db-babb089814ff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5952866} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f3dccff-6eaa-46d1-8409-a24aff4c9dd3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5955431} 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":"ffd20c262d4cffeb2171236d27687780"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"a9655a52-8ecf-468b-9938-2ba0550f6dab","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132967.5997915} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffd20c262d4cffeb2171236d27687780"},"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 39ms","method":"POST","requestID":"ffd20c262d4cffeb2171236d27687780","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:07 +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":"ffd20c262d4cffeb2171236d27687780"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"473467c25cf7873015fee6ec52aed4b8","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/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":"473467c25cf7873015fee6ec52aed4b8"} device_1 | {"level":"info","message":"OPTIONS /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/websocket 200 1ms","method":"OPTIONS","requestID":"473467c25cf7873015fee6ec52aed4b8","responseTime":1,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"26a94ac3d3af7fbfd4f5e3bc8078d143","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259786,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26a94ac3d3af7fbfd4f5e3bc8078d143"},"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":"14/Apr/2024:22:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/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":"26a94ac3d3af7fbfd4f5e3bc8078d143"} device_1 | {"level":"info","message":"POST /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/websocket 200 27ms","method":"POST","requestID":"26a94ac3d3af7fbfd4f5e3bc8078d143","responseTime":27,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4a097d8645a433956aaecc047cae2bb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398405,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4a097d8645a433956aaecc047cae2bb"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"1c001323-1902-4cb3-81a4-b18db801b0b7","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.6669612} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4a097d8645a433956aaecc047cae2bb"},"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":"14/Apr/2024:22:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 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":"f4a097d8645a433956aaecc047cae2bb"} device_1 | {"level":"info","message":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 200 17ms","method":"GET","requestID":"f4a097d8645a433956aaecc047cae2bb","responseTime":17,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f2ef290d68e4ccefab0f5d3eb9464c97","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:35260","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.22197,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"f2ef290d68e4ccefab0f5d3eb9464c97"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"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:35260","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607937,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"98a54170-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650437,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98a58f90-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99faef62-0140-4e3b-9b65-04f77dc7f37d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.551084192Z"}]},"request_id":"65e1fa0a-8044-4932-86dd-9657997c09bd","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.7451622} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98a54170-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"c49ce345-2b4d-47f2-9cb2-fe8d81972d36","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.7461984} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98a58f90-faac-11ee-adee-eb1d2c4f6619"},"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/99faef62-0140-4e3b-9b65-04f77dc7f37d? 200 15ms","method":"GET","requestID":"98a54170-faac-11ee-adee-eb1d2c4f6619","responseTime":15,"status":200,"url":"/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 200 14ms","method":"GET","requestID":"98a58f90-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214125,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98a9d550-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"7a76e48c-e616-4ba3-89b5-f8968ec49322","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.7917244} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3efb694b-5be0-4eb3-a1ea-1e17e27a4101","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.792091} 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":"98a9d550-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 15ms","method":"POST","requestID":"98af7aa0-faac-11ee-8b23-3393668b3c7d","responseTime":15,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/99faef62-0140-4e3b-9b65-04f77dc7f37d?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"98a9d550-faac-11ee-adee-eb1d2c4f6619","responseTime":57,"status":201,"url":"/devices/99faef62-0140-4e3b-9b65-04f77dc7f37d?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"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/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.698715,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"98ba5010-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.493402,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"client_addr":"127.0.0.1:51512","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"98ba9e30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:51512","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.46895,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3ebc575-79ee-4bd7-88ba-41d1366b87b1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.885264} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","rebac_allow":false,"scope_allow":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":"98bac540-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:09.791683116Z"}]},"request_id":"2afff176-6672-4fdd-9772-dbb7a9a8244c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.8940322} device_1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device eb9b8fef-c2e9-447d-9b5f-400805da1f71","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device eb9b8fef-c2e9-447d-9b5f-400805da1f71\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/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"98bac540-faac-11ee-adee-eb1d2c4f6619"} device_1 | {"level":"info","message":"POST /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling 404 19ms","method":"POST","requestID":"98bac540-faac-11ee-adee-eb1d2c4f6619","responseTime":19,"status":404,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/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":"98ba5010-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"f6a6eded-7d39-4ce9-b61b-c2b7e96024c1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.8960123} experiment_1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device eb9b8fef-c2e9-447d-9b5f-400805da1f71"},"status":404}},"level":"error","message":"Could not send status-update message"} 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":"98ba9e30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7e6d57cd-8058-4dcd-88fa-439296c548b9#owner@http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7e6d57cd-8058-4dcd-88fa-439296c548b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"772be00e-74d2-4f20-8a80-ce9c5a23d35c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.901808} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd2e58fd-13e1-42ed-b5fa-da36aa3b8b81","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.9022062} 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":"f2ef290d68e4ccefab0f5d3eb9464c97"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71? 200 33ms","method":"GET","requestID":"98ba5010-faac-11ee-adee-eb1d2c4f6619","responseTime":33,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:09Z"} device_1 | {"level":"info","message":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 200 32ms","method":"GET","requestID":"98ba9e30-faac-11ee-adee-eb1d2c4f6619","responseTime":32,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3?"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c30b9db-ac91-4a93-9db8-76fbeb8c9e1b","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132969.9096432} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.857518,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","rebac_allow":false,"scope_allow":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":"98be95d0-faac-11ee-adee-eb1d2c4f6619"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling 200 14ms","method":"POST","requestID":"98be95d0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9","user":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"f2ef290d68e4ccefab0f5d3eb9464c97","responseTime":234,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2ef290d68e4ccefab0f5d3eb9464c97"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"33184157a7d4e86d587e421c71bdda9a","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"14/Apr/2024:22:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/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":"33184157a7d4e86d587e421c71bdda9a"} device_1 | {"level":"info","message":"OPTIONS /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/websocket 200 1ms","method":"OPTIONS","requestID":"33184157a7d4e86d587e421c71bdda9a","responseTime":1,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Inh1Zi10dVl3WVBDTThkS1hJTzlPMldVYlZQTUFtdndsbVlHRWtzRFRic2IzTzJWeVNTdE5BOENfRlpoUmpEVnJ0WG40YVRUdGtaTWdpenNIYndDNHdRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3MX0.itg1eb8pLBhDtBJHClnfb9SCp0sTAnynLmDjYQxFbgc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1aea2c965b56d4cabd173f10ec733f2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:11Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320791,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:11Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","payload":{"admin":true,"edgeToken":"xuf-tuYwYPCM8dKXIO9O2WUbVPMAmvwlmYGEksDTbsb3O2VySStNA8C_FZhRjDVrtXn4aTTtkZMgizsHbwC4wQ","iat":1713132971,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Inh1Zi10dVl3WVBDTThkS1hJTzlPMldVYlZQTUFtdndsbVlHRWtzRFRic2IzTzJWeVNTdE5BOENfRlpoUmpEVnJ0WG40YVRUdGtaTWdpenNIYndDNHdRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3MX0.itg1eb8pLBhDtBJHClnfb9SCp0sTAnynLmDjYQxFbgc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1aea2c965b56d4cabd173f10ec733f2"},"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":"14/Apr/2024:22:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a1aea2c965b56d4cabd173f10ec733f2"} device_1 | {"level":"info","message":"POST /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/websocket 200 33ms","method":"POST","requestID":"a1aea2c965b56d4cabd173f10ec733f2","responseTime":33,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7bff35781faf0b0823ea083c0dd20ad2","responseTime":2,"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3Mn0.WoulsNusJ9Kmd4xPB5fWg9Kg8QadNaX6v_Jr8hq4mHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"05587b34c58aa41ec0ee157b4709bd0f","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.755943,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132972,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3Mn0.WoulsNusJ9Kmd4xPB5fWg9Kg8QadNaX6v_Jr8hq4mHE"} 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":"05587b34c58aa41ec0ee157b4709bd0f"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:09.791683116Z"}]},"request_id":"6321f84d-bb0c-45ee-960a-55f3f58c82eb","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132972.0520494} 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":"05587b34c58aa41ec0ee157b4709bd0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"14/Apr/2024:22:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"7bff35781faf0b0823ea083c0dd20ad2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"7bff35781faf0b0823ea083c0dd20ad2","responseTime":25,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"14/Apr/2024:22:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05587b34c58aa41ec0ee157b4709bd0f"} device_1 | {"level":"info","message":"GET /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71? 200 26ms","method":"GET","requestID":"05587b34c58aa41ec0ee157b4709bd0f","responseTime":26,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3Mn0.WoulsNusJ9Kmd4xPB5fWg9Kg8QadNaX6v_Jr8hq4mHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"56c1ca1483e7be3b8592cc7497db2fd3","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:12Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287302,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132972,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3Mn0.WoulsNusJ9Kmd4xPB5fWg9Kg8QadNaX6v_Jr8hq4mHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56c1ca1483e7be3b8592cc7497db2fd3"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"b234ceee-61cb-46b7-9400-9f096f59fdd9","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132972.085655} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56c1ca1483e7be3b8592cc7497db2fd3"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 200 20ms","method":"GET","requestID":"56c1ca1483e7be3b8592cc7497db2fd3","responseTime":20,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3?"} gateway_1 | {"time_local":"14/Apr/2024:22:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 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":"56c1ca1483e7be3b8592cc7497db2fd3"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.812745,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bbba930-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:60960","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"client_addr":"127.0.0.1:60960","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.729885,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"9bbbf750-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:09.791683116Z"}]},"request_id":"73642354-a35d-4a93-b775-ad1a6e56c793","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132974.9326434} 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":"9bbba930-faac-11ee-adee-eb1d2c4f6619"},"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:36704","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"},"timestamp":"2024-04-14T22:16:07.595258734Z"}]},"request_id":"6aca9b42-03f5-491f-ba82-1634fd697e6e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132974.9348302} 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":"9bbbf750-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71? 200 29ms","method":"GET","requestID":"9bbba930-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3? 200 29ms","method":"GET","requestID":"9bbbf750-faac-11ee-adee-eb1d2c4f6619","responseTime":29,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1030f3d0-3585-40cd-840c-a3cf9fa8523c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132974.9573238} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.613626,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","rebac_allow":false,"scope_allow":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":"9bc0d950-faac-11ee-adee-eb1d2c4f6619"},"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling 200 17ms","method":"POST","requestID":"9bc0d950-faac-11ee-adee-eb1d2c4f6619","responseTime":17,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"256a6698-ea3f-4658-ab87-bf4c59096808","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132974.9763896} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.00999,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","rebac_allow":false,"scope_allow":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":"9bc3e690-faac-11ee-adee-eb1d2c4f6619"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling 200 16ms","method":"POST","requestID":"9bc3e690-faac-11ee-adee-eb1d2c4f6619","responseTime":16,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b1f9efd1-2147-4fbf-9588-087537aec260"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"eb81f8a7-6cc4-4e1c-a267-6a45eb3f6ec4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ea328d66-2fe1-4126-9cc0-eb10b03b361f"}]},"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.587175,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132969,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk2OX0.ZvMmQ3dIm9SF4zvr9LrDAFQvp7dlmMzhK9r9Br_Dlac"} 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":"9bc6f3d0-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","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%2F7a52826f-1cbe-4976-8c76-2428960bba09'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]}},"raw_response":{},"request_id":"896b90eb-1135-449f-bb30-5d3681fc2851","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.0080874} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f44e110c-add9-450e-b522-60a483c51765","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.0084627} 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":"9bc6f3d0-faac-11ee-adee-eb1d2c4f6619"},"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/e27dcace-6b97-4502-a094-5008c138d146'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146'"} 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 52ms","method":"POST","requestID":"9bc6f3d0-faac-11ee-adee-eb1d2c4f6619","responseTime":52,"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/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4dfd2c6-3aca-484f-a203-31d559949f95","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.0828483} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930964,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","rebac_allow":false,"scope_allow":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":"9bd48860-faac-11ee-adee-eb1d2c4f6619"},"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling 200 10ms","method":"POST","requestID":"9bd48860-faac-11ee-adee-eb1d2c4f6619","responseTime":10,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0209542b-0585-4f1b-bf87-3927679c2c1f","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.0937335} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.153649,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","rebac_allow":false,"scope_allow":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":"9bd65d20-faac-11ee-adee-eb1d2c4f6619"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling 200 8ms","method":"POST","requestID":"9bd65d20-faac-11ee-adee-eb1d2c4f6619","responseTime":8,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e27dcace-6b97-4502-a094-5008c138d146","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c65fa2f550731bada2fe5c5d464f6361","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c65fa2f550731bada2fe5c5d464f6361","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"c65fa2f550731bada2fe5c5d464f6361"} device_1 | {"data":{"peerconnection":"e27dcace-6b97-4502-a094-5008c138d146","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"e27dcace-6b97-4502-a094-5008c138d146","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/e27dcace-6b97-4502-a094-5008c138d146' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e27dcace-6b97-4502-a094-5008c138d146","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"66ddfb68ea546f74cc30e31f05326201","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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe27dcace-6b97-4502-a094-5008c138d146","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de61a3b4-802d-4b46-ac0e-943361d4c80c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.2997046} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.991076,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146","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":"9bf556d0-faac-11ee-adee-eb1d2c4f6619"},"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/e27dcace-6b97-4502-a094-5008c138d146 200 14ms","method":"GET","requestID":"9bf556d0-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":200,"url":"/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"66ddfb68ea546f74cc30e31f05326201","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"66ddfb68ea546f74cc30e31f05326201"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6b3ad6e-8e5a-4457-9592-6a44d081edff","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.333989} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.660116,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","rebac_allow":false,"scope_allow":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":"9bfa86f0-faac-11ee-adee-eb1d2c4f6619"},"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling 200 13ms","method":"POST","requestID":"9bfa86f0-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e7f8b8f-56ac-4169-9d98-91a5d6189712","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.3481286} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.024405,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","rebac_allow":false,"scope_allow":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":"9bfcd0e0-faac-11ee-adee-eb1d2c4f6619"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling 200 11ms","method":"POST","requestID":"9bfcd0e0-faac-11ee-adee-eb1d2c4f6619","responseTime":11,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a0474d68c596fd5dfe992f46ac99a99","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.079609,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132975,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ"} 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":"2a0474d68c596fd5dfe992f46ac99a99"},"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/7e6d57cd-8058-4dcd-88fa-439296c548b9"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a0474d68c596fd5dfe992f46ac99a99"} experiment_1 | {"level":"info","message":"GET /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9 200 18ms","method":"GET","requestID":"2a0474d68c596fd5dfe992f46ac99a99","responseTime":18,"status":200,"url":"/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dedb9b824ba3223b6f00f39d5ac66818","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.211588,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"experiment:http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132975,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ"} 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":"dedb9b824ba3223b6f00f39d5ac66818"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.333455,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"peerconnection:http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132975,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ"} 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":"9c084290-faac-11ee-adee-eb1d2c4f6619"},"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/e27dcace-6b97-4502-a094-5008c138d146' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e27dcace-6b97-4502-a094-5008c138d146","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe27dcace-6b97-4502-a094-5008c138d146': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe27dcace-6b97-4502-a094-5008c138d146","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"f7acb96b-a6b3-46e7-94f5-8f589d835057","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.4444673} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4288273f-0ba9-43a9-b6bc-f2ff0ec16da1","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.4451306} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a343f3184b82ee1a66a6766e1e2643d5","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c084290-faac-11ee-adee-eb1d2c4f6619"},"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-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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f34c8b5ce79a0e597ba0d6b70a7f0af","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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/e27dcace-6b97-4502-a094-5008c138d146 204 55ms","method":"DELETE","requestID":"9c084290-faac-11ee-adee-eb1d2c4f6619","responseTime":55,"status":204,"url":"/peerconnections/e27dcace-6b97-4502-a094-5008c138d146"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3'"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.245199,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","payload":{"admin":true,"edgeToken":"ohxw_dX_FcpIZ8L9WQbEFeRflvf_cOEX-ZVfS45ODL-TOHLyUZF3mEStLF2WUFX_8WiZ0bgA1_8tBiZJCiXCIg","iat":1713132975,"sub":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09","subject_alt":"http://localhost/users/7a52826f-1cbe-4976-8c76-2428960bba09"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzdhNTI4MjZmLTFjYmUtNDk3Ni04Yzc2LTI0Mjg5NjBiYmEwOSIsImVkZ2VUb2tlbiI6Im9oeHdfZFhfRmNwSVo4TDlXUWJFRmVSZmx2Zl9jT0VYLVpWZlM0NU9ETC1UT0hMeVVaRjNtRVN0TEYyV1VGWF84V2laMGJnQTFfOHRCaVpKQ2lYQ0lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMzEzMjk3NX0.B7QoCKghJsjBbm2JpOoMw5mAhUc-LEfruSKnt0FT1qQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c111c30-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"f4d62a7b-1062-4d3e-81fc-e226c0fc4be3","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.4941447} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb2d53e3-b89b-4de8-b861-a074c44dc8d8","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.4944885} 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":"9c111c30-faac-11ee-adee-eb1d2c4f6619"},"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71 204 37ms","method":"DELETE","requestID":"9c111c30-faac-11ee-adee-eb1d2c4f6619","responseTime":37,"status":204,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb9b8fef-c2e9-447d-9b5f-400805da1f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"594c4388-a465-4a3b-a281-df80dc9bde9d","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.5445344} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.42473,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71","object_type":"device","rebac_allow":false,"scope_allow":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":"9c1a6b00-faac-11ee-adee-eb1d2c4f6619"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"9c1a6b00-faac-11ee-adee-eb1d2c4f6619"} device_1 | {"level":"info","message":"POST /devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/signaling 404 14ms","method":"POST","requestID":"9c1a6b00-faac-11ee-adee-eb1d2c4f6619","responseTime":14,"status":404,"url":"/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71/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"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7e6d57cd-8058-4dcd-88fa-439296c548b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7e6d57cd-8058-4dcd-88fa-439296c548b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F7a52826f-1cbe-4976-8c76-2428960bba09"}]},"store_id":"01HVFATM01TTTJE98YG5RWJVZA","writes":null},"raw_response":{},"request_id":"8da6eb77-b6db-49db-91fc-7946fe3bac3e","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.5542731} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","store_id":"01HVFATM01TTTJE98YG5RWJVZA"},"raw_response":{"authorization_model":{"id":"01HVFATM16TVWDJCZFA6EK6NPM","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a6b2c8a-9930-4e6b-9b38-978fda17428c","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.554715} 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":"dedb9b824ba3223b6f00f39d5ac66818"},"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:35260","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:36704","raw_request":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","contextual_tuples":null,"store_id":"01HVFATM01TTTJE98YG5RWJVZA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44131966-2eea-43a3-8f01-d33b1a867313","store_id":"01HVFATM01TTTJE98YG5RWJVZA","subsystem":"openfga","timestamp":1713132975.5605822} authorization_1 | {"client_addr":"127.0.0.1:35260","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.296003,"resp_status":200,"subsystem":"opa","time":"2024-04-14T22:16:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","openfga":{"authorization_model_id":"01HVFATM16TVWDJCZFA6EK6NPM","store":"01HVFATM01TTTJE98YG5RWJVZA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3","object_type":"device","rebac_allow":false,"scope_allow":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":"9c1d0310-faac-11ee-adee-eb1d2c4f6619"},"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/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling 200 13ms","method":"POST","requestID":"9c1d0310-faac-11ee-adee-eb1d2c4f6619","responseTime":13,"status":200,"url":"/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dedb9b824ba3223b6f00f39d5ac66818"} experiment_1 | {"level":"info","message":"DELETE /experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9 204 224ms","method":"DELETE","requestID":"dedb9b824ba3223b6f00f39d5ac66818","responseTime":224,"status":204,"url":"/experiments/7e6d57cd-8058-4dcd-88fa-439296c548b9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"a343f3184b82ee1a66a6766e1e2643d5","responseTime":181,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16: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.186","http_referrer":"","http_user_agent":"node-fetch","requestID":"a343f3184b82ee1a66a6766e1e2643d5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 177ms","method":"POST","requestID":"1f34c8b5ce79a0e597ba0d6b70a7f0af","responseTime":177,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16: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.184","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f34c8b5ce79a0e597ba0d6b70a7f0af"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1956","request_time":"3.627","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d24d4a62386256a0f32ad9bf659ccdb0"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1925","request_time":"6.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":"efe487c0c55f8ed5dac8425a244b8f72"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5ae37e85-d3e6-4fa7-8cad-4cc7c5c873a3' closed"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/eb9b8fef-c2e9-447d-9b5f-400805da1f71' closed"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"7437ab171caef2185ede29e09e545e90","responseTime":0,"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/eb9b8fef-c2e9-447d-9b5f-400805da1f71"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"7437ab171caef2185ede29e09e545e90","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"14/Apr/2024:22:16:15 +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":"7437ab171caef2185ede29e09e545e90"} integration-test_authentication_1 exited with code 143 integration-test_authorization_1 exited with code 0 integration-test_experiment_1 exited with code 143 integration-test_federation_1 exited with code 143 integration-test_device_1 exited with code 143 integration-test_gateway_1 exited with code 0